#include using namespace std; void printPath(int size, int i_start, int j_start, int i_end, int j_end, stack path) { //cout< finalPath; while(!path.empty()) { finalPath.push(path.top()); path.pop(); } while(!finalPath.empty()) { cout< path; if((abs(i_start-i_end)/2)%2==1) { if(abs(j_start-j_end)%2==0) { cout<<"Impossible\n"; return; } if((abs(i_start-i_end))/2>=abs(j_start-j_end)) {steps=abs(i_start-i_end)/2;//cout<<"here"; } else { steps=(abs(i_start-i_end)/2)+((abs(j_start-j_end)-(abs(i_start-i_end)/2))/2);//cout<<"here1"; } cout<=abs(j_start-j_end)) {steps=abs(i_start-i_end)/2;//cout<<"here"; } else { steps=(abs(i_start-i_end)/2)+((abs(j_start-j_end)-(abs(i_start-i_end)/2))/2);//cout<<"here1"; } 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; }