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. String output = ""; if(j_start == j_end){ if(Math.abs(i_start - i_end) % 4 != 0){ output = "Impossible"; } else { int count = 0; for(int i = 0 ; i < Math.abs(i_start - i_end); i +=2){ if(i % 4 == 0){ output += "LR "; count++; } else { output += "LL "; count++; } } System.out.println(count); } } else if(i_start == i_end){ if(Math.abs(j_start - j_end) % 2 != 0){ output = "Impossible"; } else { int count = 0; if((j_start - j_end) < 0){ for(int i = 0; i < (j_end - j_start); i += 2){ output += "R "; count++; } } else { for(int i = 0; i < (j_start - j_end); i += 2){ output += "L "; count++; } } System.out.println(count); } } else { if(Math.abs(i_start - i_end) % 2 !=0){ output = "Impossible"; } else { int count = 0; if(j_start > j_end && i_start > i_end){ int decrement = i_start / 2; if(j_end - (j_start - decrement) % 2 != 0){ output = "Impossible"; } else { while(i_start != i_end){ count++; output += "UL "; j_start -= 1; i_start -= 2; } if(j_start == j_end){ System.out.println(count); } else if((j_start - j_end) < 0){ for(int i = 0; i < (j_end - j_start); i += 2){ output += "R "; count++; } System.out.println(count); } else { for(int i = 0; i < (j_start - j_end); i += 2){ output += "L "; count++; } System.out.println(count); } } } else if(j_start < j_end && i_start < i_end){ int decrement = i_end / 2; if(j_start - (j_end - decrement) % 2 != 0){ output = "Impossible"; } else { while(i_end != i_start){ count++; output += "LR "; j_start += 1; i_start += 2; } if(j_start == j_end){ System.out.println(count); } else if((j_start - j_end) < 0){ for(int i = 0; i < (j_end - j_start); i += 2){ output += "R "; count++; } System.out.println(count); } else { for(int i = 0; i < (j_start - j_end); i += 2){ output += "L "; count++; } System.out.println(count); } } } else if(j_start > j_end && i_start < i_end){ int increment = i_end / 2; if(j_start - (j_end + increment) % 2 != 0){ output = "Impossible"; } else { while(i_start != i_end){ count++; output += "LL "; i_start += 2; j_start -= 1; } if(j_start == j_end){ System.out.println(count); } else if((j_start - j_end) < 0){ for(int i = 0; i < (j_end - j_start); i += 2){ output += "R "; count++; } System.out.println(count); } else { for(int i = 0; i < (j_start - j_end); i += 2){ output += "L "; count++; } System.out.println(count); } } } else if(j_start < j_end && i_start > i_end){ int increment = i_start / 2; if(j_end - (j_start + increment) % 2 != 0){ output = "Impossible"; } else { while(i_start != i_end){ count++; output += "UR "; i_start -= 2; j_start += 1; } if(j_start == j_end){ System.out.println(count); } else if((j_start - j_end) < 0){ for(int i = 0; i < (j_end - j_start); i += 2){ output += "R "; count++; } System.out.println(count); } else { for(int i = 0; i < (j_start - j_end); i += 2){ output += "L "; count++; } System.out.println(count); } } } } } System.out.println(output); } 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(); } }