#include #include using namespace std; #define ll long long int #define sc(a) scanf("%lld", &a) #define scs(a) scanf("%s", a) #define prs(a) printf("%s", a) #define prsl(a) printf("%s\n", a) #define pr(a) printf("%lld ", a) #define prl(a) printf("%lld\n", a) #define rep(i, a, b) for(i=a; i=b; i--) ll n, a, b, c, d; ll visited[201][201]; ll mn = INT_MAX; ll ind = 0; string ans; struct cell { ll x, y; ll turn; ll dis; string haha; cell() {} cell(ll x, ll y, ll turn, ll dis, string haha) : x(x), y(y), turn(turn), dis(dis), haha(haha) {} }; // Utility method returns true if (x, y) lies inside Board bool isSafe(ll i, ll j){ if(i>=0 && i=0 && j q; q.push(cell(knightPos[0], knightPos[1], -2, 0, "")); cell t; ll x, y; visited[knightPos[0]][knightPos[1]] = 1; string s=""; while (!q.empty()) { t = q.front(); q.pop(); //cout<mn)return; visited[i][j] = 1; if(isSafe(i-2, j-1) && !visited[i-2][j-1])func(i-2, j-1, s + "UL ", cnt+1); if(isSafe(i-2, j+1) && !visited[i-2][j+1])func(i-2, j+1, s + "UR ", cnt+1); if(isSafe(i, j+2) && !visited[i][j+2])func(i, j+2, s + "R ", cnt+1); if(isSafe(i+2, j+1) && !visited[i+2][j+1])func(i+2, j+1, s + "LR ", cnt+1); if(isSafe(i+2, j-1) && !visited[i+2][j-1])func(i+2, j-1, s + "LL ", cnt+1); if(isSafe(i, j-2) && !visited[i][j-2])func(i, j-2, s + "L ", cnt+1); visited[i][j] = 0; }*/ int main() { ll i, j, no; sc(n); string s = ""; rep(i, 0, n){ rep(j, 0, n){ visited[i][j] = 0; } } ll knightPos[2]; ll targetPos[2]; cin>>knightPos[0]>>knightPos[1]>>targetPos[0]>>targetPos[1]; mn = minStepToReachTarget(knightPos, targetPos); //func(a, b, s, 0); if(mn==-1){cout<<"Impossible"<