import java.io.*; import java.util.*; import java.text.*; import java.math.*; import java.util.regex.*; public class Solution { static void printShortestPath(int n, int i_start, int j_start, int i_end, int j_end) { String route = " "; boolean possible = false; int i = 0; for (; i < n; i++) { //System.out.println(i + " " + i_start + " " + j_start+ " "+ route); if(route.contains(" R LL")) { route = route.replace("R LL", "LR"); i--; } if(route.contains(" R UL")) { route = route.replace("R UL", "UR"); i--; } if(route.contains(" L LR")) { route = route.replace("L LR", "LL"); i--; } if(route.contains(" L UR")) { route = route.replace("L UR", "UL"); i--; } if (i_start == i_end && j_start == j_end) { possible = true; break; } if (i_start < i_end && j_start < j_end) { route = route + "LR "; i_start = i_start + 2; j_start = j_start + 1; } else if (i_start < i_end && j_start > j_end) { route = route + "LL "; i_start = i_start + 2; j_start = j_start - 1; } else if (i_start > i_end && j_start < j_end) { route = route + "UR "; i_start = i_start - 2; j_start = j_start + 1; } else if (i_start > i_end && j_start > j_end) { route = route + "UL "; i_start = i_start - 2; j_start = j_start - 1; } else if (i_start == i_end && j_start < j_end) { route = route + "R "; j_start = j_start + 2; } else if (i_start == i_end && j_start > j_end) { route = route + "L "; j_start = j_start - 2; } else if (j_start == j_end && i_start < i_end) { route = route + "R "; j_start = j_start + 2; } else if (j_start == j_end && i_start > i_end) { route = route + "L "; j_start = j_start - 2; } } if (possible) { System.out.println(i); System.out.println(route.trim()); } else { System.out.print("Impossible"); } } 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(); } }