#include using namespace std; int n; inline void move(int x,int ny,int tl,int tr,int trl,int trr) { // cout<<"M "< 0 ) { if( ny + 1 < n && tr ) printf("LR "), move(x-2,ny+1,tl,tr-1,trl,trr); else if( ny && tl ) printf("LL "), move(x-2,ny-1,tl-1,tr,trl,trr); } else if( trl && ny - 2 >= 0 ) printf("L "), move(x,ny-2,tl,tr,trl-1,trr); } void printShortestPath(int x1, int y1, int x2, int y2) { if( abs(x1 - x2) % 2 != 0 ) return (void)puts("Impossible"); int num = abs(x1 - x2) / 2; if( abs(y1 - y2) % 2 != num % 2 ) return (void)puts("Impossible"); printf("%d\n", num + max(abs(y1-y2)-num,0)/2); move(x2-x1,y1,y1 > y2 ? abs(y2-y1)+max(num-abs(y1-y2),0)/2 : max(num-abs(y1-y2),0)/2,y2 > y1 ? abs(y2-y1)+max(num-abs(y1-y2),0)/2 : max(num-abs(y1-y2),0)/2,y1 < y2 ? 0 : max(abs(y1-y2)-num,0)/2,y2 < y1 ? 0 : max(abs(y1-y2)-num,0)/2); } int main() { //freopen("in.txt","r",stdin); cin >> n; int i_start; int j_start; int i_end; int j_end; cin >> i_start >> j_start >> i_end >> j_end; printShortestPath(i_start, j_start, i_end, j_end); return 0; }