#include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef long double ld; typedef std::vector vi; typedef std::vector vb; typedef std::vector vs; typedef std::vector vd; typedef std::vector vll; typedef std::vector > vvi; typedef vector vvll; typedef std::vector > vpi; typedef vector vvpi; typedef std::pair pi; typedef std::pair pll; typedef std::vector vpll; const long long mod = 1000000007; const unsigned gen_seed = std::chrono::system_clock::now().time_since_epoch().count(); std::mt19937_64 gen(gen_seed); #define all(c) (c).begin(),(c).end() #define forn(i, a, b) for(int i = a; i < b; i++) #define read(x) scanf("%d", &x) #define readv(x, n) vi x(n); forn(i,0,n) scanf("%d", &x[i]) #define pb push_back #define mp make_pair int main() { int n; scanf("%d", &n); int sx,sy,tx,ty; scanf("%d %d %d %d", &sy, &sx, &ty, &tx); // sx--,sy--,tx--,ty--; const int INF = 1e9; vvi dist(n, vi(n,INF)); deque q; q.pb(mp(tx,ty)); dist[tx][ty] = 0; while(!q.empty()) { int x = q[0].first; int y = q[0].second; q.pop_front(); if(x+2 dist[x][y] + 1) { dist[x+2][y] = dist[x][y] + 1; q.pb(mp(x+2, y)); } if(x-2>=0 && dist[x-2][y] > dist[x][y] + 1) { dist[x-2][y] = dist[x][y] + 1; q.pb(mp(x-2, y)); } if(x+1 dist[x][y] + 1) { dist[x+1][y+2] = dist[x][y] + 1; q.pb(mp(x+1, y+2)); } if(x+1=0 && dist[x+1][y-2] > dist[x][y] + 1) { dist[x+1][y-2] = dist[x][y] + 1; q.pb(mp(x+1, y-2)); } if(x-1>=0 && y+2 dist[x][y] + 1) { dist[x-1][y+2] = dist[x][y] + 1; q.pb(mp(x-1, y+2)); } if(x-1>=0 && y-2>=0 && dist[x-1][y-2] > dist[x][y] + 1) { dist[x-1][y-2] = dist[x][y] + 1; q.pb(mp(x-1, y-2)); } } if(dist[sx][sy] == INF) printf("Impossible"); else { printf("%d\n", dist[sx][sy]); while(sx != tx || sy != ty) { if(sx-1>=0 && sy-2>=0 && dist[sx-1][sy-2] < dist[sx][sy]) sx--, sy-=2, printf("UL "); else if(sx+1=0 && dist[sx+1][sy-2] < dist[sx][sy]) sx++, sy-=2, printf("UR "); else if(sx+2=0 && sy+2=0 && dist[sx-2][sy] < dist[sx][sy]) sx-=2, printf("L "); } } }