#include using namespace std; int i , a[10000]; bool mark; void printShortestPath(int n, int i1, int j1, int i2, int j2) { if(i1 >= n || j1 >= n || i2 >= n || j2 >= n) cout << "Impossible"; else { if(i1 > i2) { for(i1 ; i1 > i2 ; i1 -= 2) { if(j1 > j2) j1-- , a[i] = 6; else j1++ , a[i] = 5; i++; } } else if(i1 < i2) { for(i1 ; i1 < i2 ; i1 += 2) { if(j1 > j2) j1-- , a[i] = 2; else j1++ , a[i] = 1; i++; } } if(abs(j1 - j2) % 2 == 1 and i1 == i2 || abs(i1 - i2) != 0) cout << "Impossible" , mark = 1; else if(j1 < j2) { for(j1 ; j1 < j2 ; j1 += 2) { a[i] = 3; i++; } } else if(j1 > j2) { for(j1 ; j1 > j2 ; j1 -= 2) { a[i] = 4; i++; } } if(!mark){cout << i << endl; for(int j = 0 ; j < i ; j++) { if(a[j] == 1) cout << "LR "; if(a[j] == 2) cout << "LL "; if(a[j] == 3) cout << "R "; if(a[j] == 4) cout << "L "; if(a[j] == 5) cout << "UR "; if(a[j] == 6) cout << "UL "; }} } } int main() { int n; cin >> n; int i_start; int j_start; int i_end; int j_end; cin >> i_start >> j_start >> i_end >> j_end; printShortestPath(n, i_start, j_start, i_end, j_end); return 0; }