#include using namespace std; int a[201][201]; struct node{ int x,y; vector vt; }; void printShortestPath(int n, int ii, int jj, int i_e, int j_e) { memset(a,-1,sizeof(a)); a[ii][jj]=0; struct node kk,temp,again; queue qu; kk.x=ii; kk.y=jj; qu.push(kk); while(!qu.empty()) { temp=qu.front(); int i=temp.x; int j=temp.y; vector st=temp.vt; if(i==i_e && j==j_e) break; qu.pop(); if(i-2>=0 && j-1>=0 && a[i-2][j-1]==-1) { struct node again; a[i-2][j-1]=a[i][j]+1; again.x=i-2;again.y=j-1; again.vt=st; again.vt.push_back("UL"); qu.push(again); } if(i-2>=0 && j+1=0 && a[i+2][j-1]==-1) { struct node again; a[i+2][j-1]=a[i][j]+1; again.x=i+2;again.y=j-1; again.vt=st; again.vt.push_back("LL"); qu.push(again); } if(j-2>=0 && a[i][j-2]==-1) { struct node again; a[i][j-2]=a[i][j]+1; again.x=i;again.y=j-2; again.vt=st; again.vt.push_back("L"); qu.push(again); } } if(a[i_e][j_e]==-1) cout<<"Impossible"<> 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; }