import java.io.*; import java.util.*; import java.text.*; import java.math.*; import java.util.regex.*; public class Solution { static int [][] arr; static Boolean check_constraints(int n, int i, int j, int curr_val){ if (i < 0 || i >= n || j < 0 || j >= n) return false; if (arr[i][j] < curr_val + 1) return false; return true; } static void discover(int n, int i_start, int j_start, int curr_val){ if (!check_constraints(n, i_start, j_start, curr_val)) return; arr[i_start][j_start] = curr_val; discover(n, i_start - 2, j_start - 1, curr_val + 1);//UL discover(n, i_start - 2, j_start + 1, curr_val + 1);//UR discover(n, i_start, j_start + 2, curr_val + 1);//R discover(n, i_start + 2, j_start + 1, curr_val + 1);//LR discover(n, i_start + 2, j_start - 1, curr_val + 1);//LL discover(n, i_start, j_start - 2, curr_val + 1);//L } static void findPath(int n, int i, int j){ if (arr[i][j] == 0){return;} int min = arr[i][j]; int mini = i; int minj = j; String op = ""; if (!(i-2 < 0 || i-2 >= n || j-1 < 0 || j-1 >= n) && arr[i-2][j-1] < min){// min = arr[i-2][j-1]; mini = i-2; minj = j-1; op = "LR"; } if (!(i-2 < 0 || i-2 >= n || j+1 < 0 || j+1 >= n) && arr[i-2][j+1] < min){ min = arr[i-2][j+1]; mini = i-2; minj = j+1; op = "LL"; } if (!(i < 0 || i >= n || j+2 < 0 || j+2 >= n) && arr[i][j+2] < min){ min = arr[i][j+2]; mini = i; minj = j+2; op = "L"; } if (!(i+2 < 0 || i+2 >= n || j+1 < 0 || j+1 >= n) && arr[i+2][j+1] < min){ min = arr[i+2][j+1]; mini = i+2; minj = j+1; op = "UL"; } if (!(i+2 < 0 || i+2 >= n || j-1 < 0 || j-1 >= n) && arr[i+2][j-1] < min){ min = arr[i+2][j-1]; mini = i+2; minj = j-1; op = "UR"; } if (!(i < 0 || i >= n || j-2 < 0 || j-2 >= n) && arr[i][j-2] < min){ min = arr[i][j-2]; mini = i; minj = j-2; op = "R"; } findPath(n, mini, minj); System.out.print(op + " "); } static void printShortestPath(int n, int i_start, int j_start, int i_end, int j_end) { arr = new int [n] [n] ; for (int i = 0; i < n; i ++ ){ for (int j = 0; j < n; j ++){ arr[i][j] = 100; } } discover(n, i_start, j_start, 0); if (arr[i_end][j_end] == 100){ System.out.println("Impossible"); }else{ System.out.println(arr[i_end][j_end]); findPath(n, i_end, j_end); System.out.println(); } } 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(); } }