#include #include #include #include #include using namespace std; int n; string ans; bool is_possible(int x_s, int y_s, int x_e, int y_e); int getThere(int x_conv_c, int y_c, int x_conv_e,int y_e); int main() { cin >> n; int x_s, y_s, x_e, y_e; cin >> x_s >> y_s >> x_e >> y_e; if(!is_possible(x_s,y_s,x_e,y_e)){ cout << "Impossible" << endl; } else{ x_s /= 2; x_e /= 2; int num = getThere(x_s,y_s,x_e,y_e); cout << num << endl; cout << ans << endl; } return 0; } int getThere(int x_conv_c, int y_c, int x_conv_e,int y_e){ if(x_conv_c == x_conv_e and y_c == y_e){ return 0; } if(x_conv_c > x_conv_e and y_c > y_e ){ // UL ans += "UL "; return 1 + getThere(x_conv_c-1,y_c-1,x_conv_e,y_e); } else if(x_conv_c > x_conv_e and y_c == y_e){ //DU if(y_c > 0){ ans += "UL "; return 1 + getThere(x_conv_c-1,y_c-1,x_conv_e,y_e); } else{ ans += "UR "; return 1 + getThere(x_conv_c-1,y_c+1,x_conv_e,y_e); } } else if(x_conv_c > x_conv_e and y_c < y_e){//UR if(x_conv_c - x_conv_e > y_e - y_c){ ans += "UL "; return 1 + getThere(x_conv_c-1,y_c-1,x_conv_e,y_e); } else{ ans += "UR "; return 1 + getThere(x_conv_c-1,y_c+1,x_conv_e,y_e); } } else if(x_conv_c == x_conv_e and y_c < y_e){ // R ans += "R "; return 1 + getThere(x_conv_c,y_c+2,x_conv_e,y_e); } else if(x_conv_c < x_conv_e and y_c < y_e){ // LR if(x_conv_e - x_conv_c < y_e - y_c){ ans += "R "; return 1 + getThere(x_conv_c,y_c+2,x_conv_e,y_e); } else{ ans += "LR "; return 1 + getThere(x_conv_c+1,y_c+1,x_conv_e,y_e); } } else if(x_conv_c < x_conv_e and y_c == y_e){ //DL if(y_c < n and x_conv_c < n){ ans += "LR "; return 1 + getThere(x_conv_c+1,y_c+1,x_conv_e,y_e); } else{ ans += "LL "; return 1 + getThere(x_conv_c+1,y_c-1,x_conv_e,y_e); } } else if(x_conv_c < x_conv_e and y_c > y_e){ // LL if(x_conv_e - x_conv_c > y_c - y_e){ ans += "LR "; return 1 + getThere(x_conv_c+1,y_c+1,x_conv_e,y_e); } else{ ans += "LL "; return 1 + getThere(x_conv_c+1,y_c-1,x_conv_e,y_e); } } else{ ans += "L "; return 1 + getThere(x_conv_c,y_c-2,x_conv_e, y_e); } } bool is_possible(int x_s, int y_s, int x_e, int y_e){ if(abs(x_s - x_e)%2 != 0){ return false; } else{ if(abs(x_s - x_e)%4 == 0){ return ((y_s%2) == (y_e)%2); } else{ return ((y_s%2) != (y_e)%2); } } }