#include using namespace std; #define INFFF 1000000; int n, i1, jj1, i2, j2; bool vst[222][222]; int ii[] = {-2, -2, 0, 2, 2, 0}; int jj[] = {-1, 1, 2, 1, -1, -2}; string moves[] = {"UL", "UR", "R", "LR", "LL", "L"}; int indexxx[222][222]; int dp[222][222]; int solve(int i, int j){ if(i < 0 || j <0 || i >= n || j >= n || vst[i][j]) return 1000000; if(i == i2 && j == j2) return 0; if(dp[i][j] != -1) return dp[i][j]; vst[i][j] = 1; int Min = 1000000, idx = 0, tmp; for(int k=0;k<6;k++){ tmp = solve(i + ii[k], j + jj[k]); if(tmp < Min){ Min = tmp; idx = k; } } vst[i][j] = 0; indexxx[i][j] = idx; return dp[i][j] = Min + 1; } void print_res(int ans){ cout << moves[indexxx[i1][jj1]]; int x = indexxx[i1][jj1]; i1 += ii[x]; jj1 += jj[x]; for(int i =1; i> n >> i1 >> jj1 >> i2 >> j2; memset(dp, -1, sizeof dp); memset(indexxx, -1, sizeof indexxx); memset(vst, 0, sizeof vst); int ans = solve(i1, jj1); if(ans == 1000001) cout << "Impossible" << endl; else{ cout << ans << endl; print_res(ans); } return 0; }