import java.io.*; import java.util.*; import java.text.*; import java.math.*; import java.util.regex.*; public class Solution { static class Node{ int x; int y; int d; String s=""; Node(int a,int b,int dis,String p){ x=a;y=b;d=dis; s=s+p; } } static boolean isInside(int x,int y,int n){ if(x>=0&&x<=n-1&&y>=0&&y<=n-1) return true; return false; } static void printShortestPath(int n,int sx_pos,int sy_pos,int ex_pos,int ey_pos){ int[] x ={-2,-2,0,2,2,0}; int[] y ={-1,1,2,1,-1,-2}; String[] str = {"UL ","UR ","R ","LR ","LL ","L "}; int len=-1; String com=""; boolean[][] visit = new boolean[n][n]; for(int i=0;i ls =new LinkedList(); ls.add(new Node(sx_pos,sy_pos,0,"")); visit[sx_pos][sy_pos]=true; Node t; int a; int b; while(!ls.isEmpty()){ t = ls.poll(); visit[t.x][t.y] = true; if(t.x==ex_pos&&t.y==ey_pos){ len=t.d;com=t.s;break; } for(int i=0;i<6;i++){ a=t.x+x[i]; b=t.y+y[i]; if(isInside(a,b,n)&&!visit[a][b]){ ls.add(new Node(a,b,t.d+1,t.s+str[i])); } } } if(len==-1) System.out.println("Impossible"); else { System.out.println(len); System.out.println(com); } } // static void printShortestPath(int n, int i_start, int j_start, int i_end, int 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(); } }