#include using namespace std; int mod(int a) { if(a<=0) return(-a); else return(a); } void printShortestPath(int n,int i_start,int j_start,int i_end,int j_end) { int a=i_end-i_start; int b=j_end-j_start; int i,check; if(i_start>=n) cout<<"Impossible"; else if(i_end>=n) cout<<"Impossible"; else if(j_start>=n) cout<<"Impossible"; else if(j_end>=n) cout<<"Impossible"; else if(i_start<0) cout<<"Impossible"; else if(i_end<0) cout<<"Impossible"; else if(j_start<0) cout<<"Impossible"; else if(j_end<0) cout<<"Impossible"; else if(mod(a)%2==1) cout<<"Impossible"; else if(b==0) { if(mod(a)%4!=0) cout<<"Impossible"; else { if(a<0) { check=-a/2; cout<0) { check=b/2; cout<0) { check=-a/2; cout<<(check+(b-check)/2)<0&&b>0) { int j; check=a/2; cout<<(check+(b-check)/2)<>n; int i_start,j_start,i_end,j_end; cin>>i_start>>j_start>>i_end>>j_end; printShortestPath(n,i_start,j_start,i_end,j_end); return 0; }