#include int n; void printcount(int k1,int k2) { if(k2<=k1) printf("%d\n",k1); else { printf("%d\n",k1+((k2-k1)/2)); } return; } void shortpath(int x1,int y1,int x2,int y2) { if(x1==x2 && y1==y2) { printf("\n"); return; } if(x1==x2) { if(y1>y2) { printf("L "); y1-=2; } else { printf("R "); y1+=2; } } else if(x1>x2) { if(y1+1>=n || y1>y2) { printf("UL "); x1-=2; y1-=1; } else { printf("UR "); x1-=2; y1+=1; } } else { if(y1+1>=n || y1>y2) { printf("LL "); x1+=2; y1-=1; } else { printf("LR "); x1+=2; y1+=1; } } shortpath(x1,y1,x2,y2); } int main() { scanf("%d",&n); int x1,x2,y1,y2,flag=0; scanf("%d%d%d%d",&x1,&y1,&x2,&y2); if((x2-x1)%2==1 || (x1-x2)%2==1) { flag=1; } else { int k1,k2; if(x1>x2) k1=(x1-x2)/2; else k1=(x2-x1)/2; if(y1>y2) k2=y1-y2; else k2=y2-y1; if(k1%2==1) { if(k2%2==0) flag=1; else { printcount(k1,k2); shortpath(x1,y1,x2,y2); } } else { if(k2%2==1) flag=1; else { printcount(k1,k2); shortpath(x1,y1,x2,y2); } } } if(flag==1) printf("Impossible\n"); return 0; }