#include using namespace std; void printShortestPath(int n, int i_start, int j_start, int i_end, int j_end) { // Print the distance along with the sequence of moves. if(i_end>n || j_end>n) { cout<<"Impossible"; } else if(abs(j_end-j_start)%2!=0) { cout<<"Impossible"; } else if(i_start == i_end) { if(abs(j_end-j_start)%4!=0) { cout<<"Impossible"; } else { cout<j_start) { for(int i=0;ii/2) { int j1 = 2*i; cout<i/2) { int j1 = 2*i; cout<i/2) { int j1 = 2*i; cout<i/2) { int j1 = 2*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, 0, 0, j_start-j_end ,i_end-i_start); return 0; }