#include #include #include #include using namespace std; int main(){ int n; scanf("%d", &n); int sx, sy, ex, ey; scanf("%d %d %d %d", &sx, &sy, &ex, &ey); string arr[6]; arr[0] = "UL"; arr[1] = "UR"; arr[2] = "R"; arr[3] = "LR"; arr[4] = "LL"; arr[5] = "L"; int steps[1000000]; int steps_sz = 0; int flag = 0; while(sx != ex || sy != ey) { int diffx = sx - ex; int diffy = sy - ey; if(diffx > 0) { if(diffx%2 == 0) { if(diffy >= 0) { if(sy >= 1) { steps[steps_sz++] = 0; sx-=2; sy-=1; } else if(sy <= n-2) { steps[steps_sz++] = 1; sx-=2; sy+=1; } else { puts("Impossible"); flag = 1; break; } } else { if(sy <= n-2) { steps[steps_sz++] = 1; sx-=2; sy+=1; } else if(sy >= 1) { steps[steps_sz++] = 0; sx-=2; sy-=1; } else { puts("Impossible"); flag = 1; break; } } } else { puts("Impossible"); flag = 1; break; } } else if(diffx == 0) { if(diffy%2==0) { if(diffy > 0) { int jumps = diffy/2; jumps = abs(jumps); for(int j = 0; j < jumps; j++) { steps[steps_sz++] = 5; sy-=2; } } else if(diffy < 0) { int jumps = diffy/2; jumps = abs(jumps); for(int j = 0; j < jumps; j++) { steps[steps_sz++] = 2; sy+=2; } } } else { puts("Impossible"); flag = 1; break; } } else { if(diffx%2 == 0) { if(diffy < 0) { int jumpdown = diffx/2; int jumpright = abs(diffy) - abs(jumpdown); if(jumpright > 0) { if(jumpright % 2 == 0) { for(int j = 0; j < (jumpright/2); j++) { steps[steps_sz++] = 2; sy+=2; } } else { puts("Impossible"); flag = 1; break; } } if(sy <= n-2) { steps[steps_sz++] = 3; sx+=2; sy+=1; } else if(sy >= 1) { steps[steps_sz++] = 4; sx+=2; sy-=1; } else { puts("Impossible"); flag = 1; break; } } else if(diffy == 0) { if(sy <= n-2) { steps[steps_sz++] = 3; sx+=2; sy+=1; } else if(sy >= 1) { steps[steps_sz++] = 4; sx+=2; sy-=1; } else { puts("Impossible"); flag = 1; break; } } else { if(sy >= 1) { steps[steps_sz++] = 4; sx+=2; sy-=1; } else if(sy <= n-2) { steps[steps_sz++] = 3; sx+=2; sy+=1; } else { puts("Impossible"); flag = 1; break; } } } else { puts("Impossible"); flag = 1; break; } } } sort(steps, steps + steps_sz); if(flag == 0) { printf("%d\n", steps_sz); for(int i = 0; i < steps_sz; i++) { if(steps[i] == 0) printf("UL "); else if(steps[i] == 1) printf("UR "); else if(steps[i] == 2) printf("R "); else if(steps[i] == 3) printf("LR "); else if(steps[i] == 4) printf("LL "); else if(steps[i] == 5) printf("L "); } puts(""); } return 0; }