#include #include #include #include #include #include using namespace std; struct boardmove{ int dx; int dy; const char* name; }; const boardmove moves[]={{-1,-2,"UL"},{1,-2,"UR"},{2,0,"R"},{1,2,"LR"},{-1,2,"LL"},{-2,0,"L"}}; bool impossible(int start_x, int start_y, int end_x, int end_y){ int dy=end_y-start_y; if(dy%2!=0)return true; int dx=end_x-start_x; return (dx-(dy>>1))%2!=0; } int measure(int start_x, int start_y, int end_x, int end_y){ int dy=abs((end_y-start_y)>>1); int dx=end_x-start_x; return dy+(max(abs(dx)-dy,0)>>1); } int main(){ ios_base::sync_with_stdio(false); cin.tie(nullptr); int n; cin>>n; int start_x,start_y,end_x,end_y; cin>>start_y>>start_x>>end_y>>end_x; if(impossible(start_x,start_y,end_x,end_y)){ cout<<"Impossible"< log; int dist=measure(start_x,start_y,end_x,end_y); while(start_x!=end_x||start_y!=end_y){ //cout<=0&&t_y>=0&&t_x