#include #include #include #include #include #include #include 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. char arr[100]; int t=0; while(1){ int flag=0; if((i_start==i_end)&&(j_start==j_end)){int g=6; printf("%d\n",t); while(arr[g]!='\0'){ printf("%c",arr[g]); g++; } return;} if(i_start-2>=i_end){ i_start=i_start-2; if(j_start-1>=j_end){j_start=j_start-1;strcat(arr,"UL ");flag++;t++;} else if(j_start+1<=j_end){j_start=j_start+1;strcat(arr,"UR ");flag++;t++;} else if((abs((j_start-1)-j_end)0){j_start=j_start-1;strcat(arr,"UL ");flag++;t++;} else {if(j_start+1=j_end){j_start=j_start-2;strcat(arr,"L ");flag++;t++;} } if(i_start+2<=i_end){ i_start=i_start+2; if(j_start+1<=j_end){j_start=j_start+1;strcat(arr,"LR ");flag++;t++;} else if(j_start-1>=j_end){j_start=j_start-1;strcat(arr,"LL ");flag++;t++;} else if((abs((j_start+1)-j_end)<=abs((j_start-1)-j_end))&& j_start+10){j_start=j_start-1;strcat(arr,"LL ");flag++;t++;}} } if(flag==0){ printf("Impossible"); return; } } } 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; }