import java.io.*; import java.util.*; import java.text.*; import java.math.*; import java.util.regex.*; public class Solution { public final static String[] set = new String[]{"UL", "UR", "R", "LR", "LL", "L"}; static void printShortestPath(int n, int j_start, int i_start, int j_end, int i_end) { HashMap hashMap = new HashMap<>(); if ((j_start - j_end) % 2 == 1) { System.out.println("Impossible"); return; } n = 0; String rez = ""; while (j_start != j_end) { n++; if (i_start > i_end) { rez = j_start > j_end ? "UL" : "LL"; i_start -= 1; j_start += j_start > j_end ? -2 : 2; } else { rez = j_start > j_end ? "UR" : "LR"; i_start += 1; j_start += j_start > j_end ? -2 : 2; } hashMap.put(rez, hashMap.getOrDefault(rez, 0) + 1); } if ((i_start - i_end) % 2 == 1) { System.out.println("Impossible"); return; } while (i_start != i_end) { n++; if (i_start > i_end) { rez = "L"; i_start -= 2; } else { rez = "R"; i_start += 2; } hashMap.put(rez, hashMap.getOrDefault(rez, 0) + 1); } System.out.println(n); for(String s : set) { int k = hashMap.getOrDefault(s,0); for(int i = 0; i < k; i++) System.out.print(s + " "); } // Print the distance along with the sequence of moves. } public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(); int i_start = in.nextInt(); int j_start = in.nextInt(); int i_end = in.nextInt(); int j_end = in.nextInt(); printShortestPath(n, i_start, j_start, i_end, j_end); in.close(); } }