#include #include #include #include #include #include #include void printShortestPath(int n, int is, int js, int ie, int je) { int count=0,it=0,i; char *a[200]; while(true) { it=0; if(is-ie>=2&&js-je>=1) { count++; a[count]="UL"; is=is-2;js=js-1; it++; } else if(is-ie>=2&&je-js>=1) { count++; a[count]="UR"; is=is-2;js=js+1; it++; } else if(je-js>=2) { count++; a[count]="R"; js=js+2; it++; } else if(ie-is>=2&&je-js>=1) { count++; a[count]="LR"; is=is+2;js=js+1; it++; } else if(ie-is>=2&&js-je>=1) { count++; a[count]="LL"; is=is+2;js=js-1; it++; } else if(js-je>=2) { count++; a[count]="L"; js=js-2; it++; } else if(js==je&&it==0) { if(ie-is>=2) { count++; a[count]="LR"; is=is+2;js=js+1; it++; } else if(is-ie>=2) { count++; a[count]="UL"; is=is-2;js=js-1; it++; } } if(is==ie&&js==je) { printf("%d\n",count); for(i=1;i<=count;i++) { printf("%s",a[i]); printf(" "); } break; } if(it==0) { printf("Impossible"); break; } } } int main() { int n; scanf("%i", &n); int i_start; int j_start; int i_end; int j_end; scanf("%i %i %i %i", &i_start, &j_start, &i_end, &j_end); printShortestPath(n, i_start, j_start, i_end, j_end); return 0; }