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 iStart, int jStart, int iEnd, int jEnd) { boolean valid=true; if (iStart % 2 == 0 && iEnd % 2 == 1){ valid = false; System.out.println("Impossible"); } else if (iStart % 2 == 1 && iEnd % 2 == 0){ valid = false; System.out.println("Impossible"); } if(valid){ if (Math.abs(iStart - iEnd) % 4 == 0 && jStart % 2 == 0 && jEnd % 2 == 1) { valid = false; System.out.println("Impossible"); }else if(Math.abs(iStart - iEnd) % 4 == 0 && jStart % 2 == 1 && jEnd % 2 == 0){ valid = false; System.out.println("Impossible"); }else if(Math.abs(iStart - iEnd) % 4 == 2 && jStart % 2 == 1 && jEnd % 2 == 1){ valid = false; System.out.println("Impossible"); }else if(Math.abs(iStart - iEnd) % 4 == 2 && jStart % 2 == 0 && jEnd % 2 == 0){ valid = false; System.out.println("Impossible"); } } if(valid){ boolean end=false; int steps=0; String trace = ""; while(!end){ //check end reached or not if(iStart==iEnd && jStart == jEnd){ end = true; System.out.println(steps); System.out.println(trace.trim()); break; } // System.out.println("coord: "+iStart + "," + jStart); //diagonals if ((Math.abs(iStart - iEnd))/2 == Math.abs(jStart - jEnd)){ if (iStart - iEnd < 0){ if(jStart - jEnd <0){ trace = trace + "LR "; iStart=iStart+2; jStart=jStart+1; steps++; continue; }else if(jStart - jEnd > 0){ trace = trace + "LL "; iStart=iStart+2; jStart=jStart-1; steps++; continue; } }else if (iStart - iEnd > 0){ if(jStart - jEnd <0){ trace = trace + "UR "; iStart=iStart-2; jStart=jStart+1; steps++; continue; }else if(jStart - jEnd > 0){ trace = trace + "UL "; iStart=iStart-2; jStart=jStart-1; steps++; continue; } } } //Horizontal travel if(iStart == iEnd){ if(jStart < jEnd){ trace = trace + "R "; jStart = jStart + 2; steps++; continue; }else if(jStart > jEnd){ trace = trace + "L "; jStart = jStart - 2; steps++; continue; } } //upwards if(iStart > iEnd){ if(((iStart - iEnd)/2) + jStart > jEnd){ trace = trace + "UL "; iStart=iStart-2; jStart=jStart-1; steps++; continue; }else{ trace = trace + "UR "; iStart=iStart-2; jStart=jStart+1; steps++; continue; } } //downwards if(iStart < iEnd){ if((jStart + (iEnd - iStart)/2) < jEnd){ trace = trace + "R "; jStart=jStart+2; steps++; continue; }else if((jStart - (iEnd - iStart)/2) < jEnd){ trace = trace + "LR "; iStart=iStart+2; jStart=jStart+1; steps++; continue; }else{ trace = trace + "LL "; iStart=iStart+2; jStart=jStart-1; steps++; continue; } } } } } 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(); } }