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) { // Print the distance along with the sequence of moves. int a = i_start - i_end, b = j_start - j_end; int ma = Integer.signum(a); int mb = Integer.signum(b); int a2, b2, s2; int c = 0; StringBuilder s = new StringBuilder(); int[][] pq = {{-2, -1}, {-2, +1}, {0, +2}, {2, +1}, {+2, -1}, {0, -2}}; String[] q = {"UL", "UR", "R", "LR", "LL", "L"}; if(a % 2 == 0 && ((a / 2) % 2) == b % 2){ while(a != 0 || b != 0){ int a3 = -1, b3 = -1, p = -1; int min = Math.abs(a) + Math.abs(b); for(int i = 0; i < 6; i++){ a2 = a + pq[i][0]; b2 = b + pq[i][1]; s2 = Math.abs(a2) + Math.abs(b2); if(s2 < min){ min = s2; p = i; a3 = a2; b3 = b2; } else if(s2 == min && p == -1){ p = i; min = s2; a3 = a2; b3 = b2; } } c++; s.append(q[p]); s.append(" "); a = a3; b = b3; } System.out.println(c); System.out.println(s.toString()); } else{ System.out.println("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(); } }