import java.io.*; import java.util.*; import java.text.*; import java.math.*; import java.util.regex.*; public class Solution { static class point{ int x,y; public point(int x,int y){ this.x=x; this.y=y; } } 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[] xmoves={-1,1,2,1,-1,-2}; int[] ymoves={-2,-2,0,2,2,0}; point[][] prev=new point[n][n]; for(int i=0;i q=new LinkedList<>(); q.add(new point(j_start,i_start)); boolean possible=false; int count=0; boolean[][] visited=new boolean[n][n]; while(!q.isEmpty()){ count++; point curr=q.poll(); int x=curr.x; int y=curr.y; visited[x][y]=true; if(x==j_end && y==i_end){ possible=true; int currx=x,curry=y; ArrayList arr=new ArrayList<>(); while(prev[currx][curry]!=null){ arr.add(new point(currx,curry)); int z=currx; currx=prev[currx][curry].x; curry=prev[z][curry].y; if(prev[currx][curry]==null){ arr.add(new point(currx,curry)); } } count=arr.size()-1; System.out.println(count); for(int i=arr.size()-1;i>0;i--){ // System.out.println(arr.get(i).x+" "+arr.get(i).y); if(arr.get(i).y>arr.get(i-1).y){ System.out.print("U"); }else if(arr.get(i).yarr.get(i-1).x){ System.out.print("L "); }else if(arr.get(i).x=n || y>=n) return false; return true; } 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(); } }