import java.io.*; import java.util.*; import java.text.*; import java.math.*; import java.util.regex.*; public class Solution { // order of pritority: UL, UR, R, LR, LL, L. static void printPath(int moves, int i_curr, int j_curr, int i_end, int j_end) { for (int k = 0; k < moves; k++) { if (i_curr > i_end) { i_curr -= 2; if (j_curr < j_end) { System.out.print("UR "); j_curr++; } else { System.out.print("UL "); j_curr--; } } else if (j_curr <= j_end) { if (i_curr == i_end) { System.out.print("R "); j_curr += 2; } else { System.out.print("LR "); i_curr += 2; j_curr++; } } else { // j_curr > j_end // right priority?? if (i_curr == i_end) { System.out.print("L "); j_curr -= 2; } else { System.out.print("LL "); i_curr -= 2; j_curr--; } } } } static void printShortestPath(int n, int i_start, int j_start, int i_end, int j_end) { int count = 0; int i_diff = Math.abs(i_start - i_end); int j_diff = Math.abs(j_start - j_end); if (i_diff % 2 != 0 || (i_diff / 2) % 2 != j_diff % 2) System.out.println("Impossible"); else { int moves = 0; moves += i_diff / 2; moves += Math.max(0, (j_diff-moves)/2); System.out.println(moves); printPath(moves, i_start, j_start, i_end, j_end); } } 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(); } }