#include using namespace std; typedef long long int ll; ll ans=999999999; ll n; ll s[201][201]; ll kk; struct node { string data; int da; node* next; }; node* head=NULL; node *ans1; void bfs(ll a,ll b,ll c,ll d) { queue > >q; if((b-1)>=0&&(a-2)>=0) { node*temp=new node; temp->data="UL"; temp->da=1; temp->next=NULL; q.push({a-2,{b-1,temp}}),s[a-2][b-1]=1; } if((b+1)=0) { node*temp=new node; temp->data="UR"; temp->da=1; temp->next=NULL; q.push({a-2,{b+1,temp}}),s[a-2][b+1]=1; } if((b+2)data="R"; temp->da=1; temp->next=NULL; q.push({a,{b+2,temp}}),s[a][b+2]=1; } if((b+1)data="LR"; temp->da=1; temp->next=NULL; q.push({a+2,{b+1,temp}}),s[a+2][b+1]=1; } if((b-1)>=0&&(a+2)data="LL"; temp->da=1; temp->next=NULL; q.push({a+2,{b-1,temp}}),s[a+2][b-1]=1; } if((b-2)>=0) { node*temp=new node; temp->data="L"; temp->da=1; temp->next=NULL; q.push({a,{b-2,temp}}),s[a][b-2]=1; } ll i=0; while(q.size()>0) { i++; pair >p; p=q.front(); q.pop(); a=p.first; b=p.second.first; node*temp1=p.second.second; //cout<da; if(pp=0&&(a-2)>=0&&s[a-2][b-1]==0) { node*temp=new node; temp->data="UL"; kk=temp1->da; temp->da=(kk+1); temp->next=temp1; q.push({a-2,{b-1,temp}}),s[a-2][b-1]=1; } if((b+1)=0&&s[a-2][b+1]==0) { node*temp=new node; temp->data="UR"; kk=temp1->da; temp->da=(kk+1); temp->next=temp1; q.push({a-2,{b+1,temp}}),s[a-2][b+1]=1; } if((b+2)data="R"; kk=temp1->da; temp->da=(kk+1); temp->next=temp1; q.push({a,{b+2,temp}}),s[a][b+2]=1; } if((b+1)data="LR"; kk=temp1->da; temp->da=(kk+1); temp->next=temp1; q.push({a+2,{b+1,temp}}),s[a+2][b+1]=1; } if((b-1)>=0&&(a+2)data="LL"; kk=temp1->da; temp->da=(kk+1); temp->next=temp1; q.push({a+2,{b-1,temp}}),s[a+2][b-1]=1; } if((b-2)>=0&&s[a][b-2]==0) { node*temp=new node; temp->data="L"; kk=temp1->da; temp->da=(kk+1); temp->next=temp1; q.push({a,{b-2,temp}}),s[a][b-2]=1; } } } void solve(node*he) { if(he->next!=NULL) solve(he->next); cout<data<<" "; } int main() { ll i,j,k,l,m; ll a,b,c,d; cin>>n; cin>>a>>b>>c>>d; bfs(a,b,c,d); if(ans==999999999) cout<<"Impossible"; else { cout<