#include using namespace std; int dx[]={-2,-2,+0,+0,+2,+2}; int dy[]={-1,+1,+2,-2,+1,-1}; string dir[] = {"UL","UR","R","L","LR","LL"}; int Go[201][201]; int dis[201][201]; int main() { /* Enter your code here. Read input from STDIN. Print output to STDOUT */ int n;cin>>n; int x1, y1 , x2 , y2; cin>>x1>>y1>>x2>>y2; queue < pair < int , int > > Q; memset(Go,-1,sizeof(Go)); memset(dis,-1,sizeof(dis)); dis[x1][y1] = 0; Q.push(make_pair(x1,y1)); while(!Q.empty()){ auto cur = Q.front();Q.pop(); for(int i=0;i<6;i++){ int nx = cur.first + dx[i]; int ny = cur.second + dy[i]; if(min(nx,ny)>=0 and max(nx,ny)<=200 and Go[nx][ny]==-1){ Go[nx][ny]=i; dis[nx][ny] = dis[cur.first][cur.second]+1; Q.push(make_pair(nx,ny)); } } } if(dis[x2][y2]==-1) { cout<<"Impossible\n"; } else { cout< res; while(x1!=x2 or y1 !=y2){ //cout<