import java.io.*; import java.util.*; import java.text.*; import java.math.*; import java.util.regex.*; public class Solution { static int steps = 0; static StringBuilder sb = new StringBuilder(); static void printShortestPath(int n, int i_start, int j_start, int i_end, int j_end) { if ((i_end - i_start) % 2 != 0 || ((j_end - j_start + (i_end - i_start) / 2) % 2 != 0)) { System.out.println("Impossible"); return; } steps++; if(sb.length()>0) sb.append(" "); if (i_start > i_end) { if (j_start < j_end) { sb.append("UR"); printShortestPath(n, i_start - 2, j_start + 1, i_end, j_end); } else { sb.append("UL"); printShortestPath(n, i_start - 2, j_start - 1, i_end, j_end); } } else if (i_start < i_end) { if (j_start > j_end) { sb.append("LL"); printShortestPath(n, i_start + 2, j_start - 1, i_end, j_end); } else { sb.append("LR"); printShortestPath(n, i_start + 2, j_start + 1, i_end, j_end); } } else { if (j_start < j_end) { sb.append("R"); printShortestPath(n, i_start, j_start + 2, i_end, j_end); } else if (j_start > j_end) { sb.append("L"); printShortestPath(n, i_start, j_start - 2, i_end, j_end); } else { System.out.println(steps-1); System.out.println(sb); return; } } } 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(); } }