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) { ArrayDeque posiciones = new ArrayDeque<>(); boolean [][] visitado = new boolean [n][n]; posiciones.add(new intpair(i_start, j_start)); boolean logrado = false; ArrayList caminof = new ArrayList<>(); while (!posiciones.isEmpty() && !logrado) { intpair actual = posiciones.remove(); int i = actual.i; int j = actual.j; if (!visitado[i][j]) { visitado [i][j] = true; ArrayList camino = actual.camino; if (i - 2 >= 0 && j - 1 >= 0 && !visitado [i-2][j-1]) { if (i-2 == i_end && j-1 == j_end) { logrado = true; caminof = camino; caminof.add("UL"); } else { posiciones.add(new intpair(i-2, j-1, camino, "UL")); } } if (i - 2 >= 0 && j + 1 < n && !visitado [i-2][j+1]) { if (i-2 == i_end && j+1 == j_end) { logrado = true; caminof = camino; caminof.add("UR"); } else { posiciones.add(new intpair(i-2, j+1, camino, "UR")); } } if ( j + 2 < n && !visitado [i][j+2]) { if (i == i_end && j+2 == j_end) { logrado = true; caminof = camino; caminof.add("R"); } else { posiciones.add(new intpair(i, j+2, camino, "R")); } } if (i + 2 < n && j + 1 < n && !visitado [i+2][j+1]) { if (i+2 == i_end && j+1 == j_end) { logrado = true; caminof = camino; caminof.add("LR"); } else { posiciones.add(new intpair(i+2, j+1, camino, "LR")); } } if (i + 2 < n && j - 1 >= 0 && !visitado [i+2][j-1]) { if (i+2 == i_end && j-1 == j_end) { logrado = true; caminof = camino; caminof.add("LL"); } else { posiciones.add(new intpair(i+2, j-1, camino, "LL")); } } if (j - 2 >= 0 && !visitado [i][j-2]) { if (i == i_end && j - 2 == j_end) { logrado = true; caminof = camino; caminof.add("L"); } else { posiciones.add(new intpair(i, j-2, camino, "L")); } } } } if (logrado) { System.out.println(caminof.size()); boolean primera = true; StringBuilder sb = new StringBuilder(); for (String st: caminof) { if (primera) { sb.append(st); primera = false; }else { sb.append(" " + st); } } System.out.println(sb); }else { System.out.println("Impossible"); } } static class intpair { ArrayList camino; int i; int j; public intpair(int i, int j) { this.i = i; this.j = j; camino = new ArrayList<>(); } public intpair(int i, int j, ArrayList camino, String dir) { this.i = i; this.j = j; this.camino = new ArrayList<>(); this.camino.addAll(camino); this.camino.add(dir); } } 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(); } }