#include using namespace std; #define ld long double #define ull unsigned long long #define ll long long #define mod 1000000007 #define f(i,n) for( ll (i)= 0;(i)<(n);(i)++) #define faster ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0) #define lp pair #define mp make_pair #define mt make_tuple #define M_H priority_queue,greater > #define rep(i,j,n) for( ll (i)= j;(i)<(n);(i)++) #define pb push_back ll n; ll vis[201][201]= {{0}}; bool isvalid(ll x,ll y) { return(x>=0 && x=0 && y,pair > >q; vectorvec; string str; ll bfs(ll x,ll y,ll a,ll b) { ll dist=0; vis[x][y]=1; q.push({{x,y},{0,""}}); while(!q.empty()) { pair< pair,pair >p=q.front(); ll i=p.first.first; ll j=p.first.second; ll d=p.second.first; string s=p.second.second; if(i==a && j==b) { str=s; return d; } q.pop(); if(isvalid(i-2,j-1) && !vis[i-2][j-1]) //UL { vis[i-2][j-1]=1; q.push({{i-2,j-1},{d+1,s+"UL$"}}); } if(isvalid(i-2,j+1) && !vis[i-2][j+1]) //UR { vis[i-2][j+1]=1; q.push({{i-2,j+1},{d+1,s+"UR$"}}); } if(isvalid(i,j+2) && !vis[i][j+2]) //R { vis[i][j+2]=1; q.push({{i,j+2},{d+1,s+"R$"}}); } if(isvalid(i+2,j+1) && !vis[i+2][j+1]) //LR { vis[i+2][j+1]=1; q.push({{i+2,j+1},{d+1,s+"LR$"}}); } if(isvalid(i+2,j-1) && !vis[i+2][j-1]) //LL { vis[i+2][j-1]=1; q.push({{i+2,j-1},{d+1,s+"LL$"}}); } if(isvalid(i,j-2) && !vis[i][j-2]) //L { vis[i][j-2]=1; q.push({{i,j-2},{d+1,s+"L$"}}); } } return -1; } int main() { faster; cin>>n; ll x,y,a,b; cin>>x>>y>>a>>b; ll d=bfs(x,y,a,b); if(d==-1) cout<<"Impossible"<