#include using namespace std; const int N = 222; int dx[6] = {-2,-2,0,2,2,0}; int dy[6] = {-1,1,2,1,-1,-2}; string des[6] = {"UL","UR","R","LR","LL","L"}; int n, D[N][N]; bool vst[N][N]; struct pt{ int x, y; bool operator == (pt a){ return x==a.x&&y==a.y; } } s, t, Tr[N][N]; void Trace(pt u){ if(u==s) return; Trace(Tr[u.x][u.y]); int x = Tr[u.x][u.y].x; int y = Tr[u.x][u.y].y; for(int i = 0; i < 6; i++){ if(u.x==x+dx[i]&&u.y==y+dy[i]){ cout< Qu; Qu.push(s); vst[s.x][s.y] = 1; while(!Qu.empty()){ pt u = Qu.front(); Qu.pop(); if(u==t){ cout<>n; cin>>s.x>>s.y>>t.x>>t.y; BFS(); cout<<"Impossible"; return 0; }