#include using namespace std; int mindist=INT_MAX; vector minpath; int vis[205][205]={0}; void getpath(int is, int js, int ie, int je, int n, string prevmove, int pathlen, vector &path) { // cout<<"function called"<pathlen) { mindist=pathlen; minpath=path; } return; } if(vis[is][js]==1) return; else vis[is][js]=1; if(prevmove!="LR") { if(is-2>=0 && js-1>=0) { prevmove="UL"; path.push_back(prevmove); getpath(is-2, js-1, ie, je, n, prevmove, pathlen+1, path ); path.pop_back(); } } if(prevmove!="LL") { if(is-2>=0 && js+1<=n-1) { prevmove="UR"; path.push_back(prevmove); getpath(is-2, js+1, ie, je, n, prevmove, pathlen+1, path ); path.pop_back(); } } if(prevmove!="L") { if(js+2<=n-1) { prevmove="R"; path.push_back(prevmove); getpath(is, js+2, ie, je, n, prevmove, pathlen+1, path ); path.pop_back(); } } if(prevmove!="UL") { if(is+2<=n-1 && js+1<=n-1) { prevmove="LR"; path.push_back(prevmove); getpath(is+2, js+1, ie, je, n, prevmove, pathlen+1, path ); path.pop_back(); } } if(prevmove!="UR") { if(is+2<=n-1 && js-1>=0) { prevmove="LL"; path.push_back(prevmove); getpath(is+2, js-1, ie, je, n, prevmove, pathlen+1, path ); path.pop_back(); } } if(prevmove!="R") { if(js-2>=0) { prevmove="L"; path.push_back(prevmove); getpath(is, js-2, ie, je, n, prevmove, pathlen+1, path ); path.pop_back(); } } vis[is][js]=0; return; } int main() { int n; cin>>n; int is,js,ie,je; cin>>is>>js>>ie>>je; string prevmove=""; vector temp; getpath(is,js,ie,je,n,prevmove,0, temp); if(mindist==INT_MAX) { cout<<"Impossible"<