#include using namespace std; void printShortestPath(int n, int is, int js, int ie, int je) { int rd,cd; rd = ie-is; cd = je-js; if(abs(rd)%2==1) cout<<"Impossible"; else { if((abs(rd)%4==2 && abs(cd)%2==0)||(abs(rd)%4==0 && abs(cd)%2==1)) cout<<"Impossible"; else { int ar[6]={0}; while(rd!=0 || cd!=0) { if(rd*cd==0) { if(rd==0) { if(cd>0) ar[2]+=cd/2; else ar[5]-=cd/2; cd=0; } else { if(rd>0) { ar[3]+=rd/4; ar[4]+=rd/4; } else { ar[0]-=rd/4; ar[1]-=rd/4; } rd=0; } } else if(rd>0 && cd>0) { while(rd*cd) { ar[3]+=1; rd-=2; cd--; } } else if(rd>0 && cd<0) { while(rd*cd) { ar[4]+=1; rd-=2; cd++; } } else if(rd<0 && cd>0) { while(rd*cd) { ar[1]+=1; rd+=2; cd--; } } else { while(rd*cd) { ar[0]+=1; rd+=2; cd++; } } } int k=0; for(int i=0;i<6;i++) k+=ar[i]; cout<> n; int i_start; int j_start; int i_end; int j_end; cin >> i_start >> j_start >> i_end >> j_end; printShortestPath(n, i_start, j_start, i_end, j_end); return 0; }