#include using namespace std; class gh{ public: bool visited; int level; }; void foo(gh arr[][300],int a,int b,int c,int d,int n) { queue > qu; qu.push(pair(c,d)); arr[c][d].level=0; arr[c][d].visited=1; while(qu.size()!=0) { pair p=qu.front(); if(p.second-2>=0 && arr[p.first][p.second-2].visited!=1) { arr[p.first][p.second-2].level=arr[p.first][p.second].level+1; qu.push(pair(p.first,p.second-2)); arr[p.first][p.second-2].visited=1; } if(p.second+2(p.first,p.second+2)); arr[p.first][p.second+2].visited=1; } if(p.first+2=0 && arr[p.first+2][p.second-1].visited!=1) { arr[p.first+2][p.second-1].level=arr[p.first][p.second].level+1; qu.push(pair(p.first+2,p.second-1)); arr[p.first+2][p.second-1].visited=1; } if(p.first+2(p.first+2,p.second+1)); arr[p.first+2][p.second+1].visited=1; } if(p.first-2>=0 && p.second-1>=0 && arr[p.first-2][p.second-1].visited!=1) { arr[p.first-2][p.second-1].level=arr[p.first][p.second].level+1; qu.push(pair(p.first-2,p.second-1)); arr[p.first-2][p.second-1].visited=1; } if(p.first-2>=0 && p.second+1(p.first-2,p.second+1)); arr[p.first-2][p.second+1].visited=1; } qu.pop(); } } int main() { int n; cin>>n; int a,b,c,d; cin>>a>>b>>c>>d; gh arr[n][300]; for (int i = 0; i < n; ++i) { for (int j = 0; j < n; ++j) { arr[i][j].visited=0; } } foo(arr,a,b,c,d,n); if(arr[a][b].visited==0) { cout<<"Impossible"; } else { cout< whack; while(a!=c || b!=d) { if(a-2>=0 && b-1>=0 && arr[a-2][b-1].level < arr[a][b].level) { whack.push_back("UL"); a=a-2; b=b-1; continue; } if(a-2>=0 && b+1=0 && arr[a+2][b-1].level < arr[a][b].level) { whack.push_back("LL"); a=a+2; b=b-1; continue; } if(b-2>=0 && arr[a][b-2].level < arr[a][b].level) { whack.push_back("L"); b=b-2; continue; } } for (int i = 0; i < whack.size(); ++i) { cout<