#include using namespace std; int n,d[300][300],p[300][300],vis[300][300]; queue > q; vector v; int inside(int i,int j) { if(i>=0&&i=0&&j>n; cin>>si>>sj>>ei>>ej; int r[]={-2,-2, 0, 2, 2, 0}; int c[]={-1, 1, 2, 1,-1,-2}; string m[]={"UL","UR","R","LR","LL","L"}; memset(vis,-1,sizeof vis); memset(d,-1,sizeof d); d[si][sj]=0; p[si][sj]=-1; q.push({si,sj}); while(!q.empty()) { i=q.front().first; j=q.front().second; q.pop(); if(vis[i][j]!=-1) continue; vis[i][j]=1; for(k=0;k<6;k++) { if(inside(i+r[k],j+c[k])==0) continue; if(d[i+r[k]][j+c[k]]!=-1) continue; p[i+r[k]][j+c[k]]=k; d[i+r[k]][j+c[k]]=d[i][j]+1; q.push({i+r[k],j+c[k]}); } } if(vis[ei][ej]==-1) { cout<<"Impossible"; return 0; } i=ei; j=ej; while(i!=si||j!=sj) { v.push_back(p[i][j]); k=p[i][j]; i=i-r[k]; j=j-c[k]; } cout<=0;i--) cout<