#include using namespace std; #define gc getchar_unlocked #define ll long long #define ull unsigned long long #define ld long double typedef pair pi; typedef pair pll; typedef vector vi; typedef vector vl; typedef vector vpi; typedef vector vpll; typedef vector vvi; typedef vector vvl; #define fo(i,n) for(i=0;in;k> t; while(t--) #define PI 3.1415926535897932384626 #define beg int main() #define ret return 0 #define bye exit(0) #define nxl <= m) a -= m; if(a < 0) a += m; return a;} ll power(ll a, ll b, ll m = mod) { if(b == 0) return 1; if(b == 1) return (a % m); ll x = power(a, b / 2, m); x = mul(x, x, m); if(b % 2) x = mul(x, a, m); return x;} // ll bin_ser(ll low,ll high,ll key){ // while(low<=high){ // ll mid = (low+high)/2; // if(v1[mid]key){ // high = mid-1; // } // else{ // return (mid+1); // } // } // return -1; // } bool yoyo(const ll p1 ,const ll p2){ return p1 > p2; } vl prio; struct compare { bool operator()(const pair,pll> > l, const pair,pll> > r) { if(l.F.F==r.F.F) return l.F.S < r.F.S; return l.F.F > r.F.F; } }; beg{ ll i,j,k,l,is,js,ie,je,t,a,r,n,m,b,c; cin >> n; cin >> is >> js >> ie >> je; ll vis[n+3][n+3]; clr(vis); for(i=1;i<7;i++){ prio.pb(i); } priority_queue,pll> >, vector,pll> > >, compare > qu; vector vs; qu.push({{0,-1},{vs,{is,js}}}); vpll arr1; arr1.pb({-2,-1}); arr1.pb({-2,1}); arr1.pb({0,2}); arr1.pb({2,1}); arr1.pb({2,-1}); arr1.pb({0,-2}); vector val; val.pb("UL"); val.pb("UR"); val.pb("R"); val.pb("LR"); val.pb("LL"); val.pb("L"); while(!qu.empty()){ pair,pll> > ab = qu.top(); qu.pop(); ll mov = ab.F.F; ll pr = ab.F.S; ll n1 = ab.S.S.F; ll n2 = ab.S.S.S; vector vf; vf = ab.S.F; if(n1==ie && n2==je){ cout< vte; vte = vf; ll te1 = n1 + arr1[i].F; ll te2 = n2 + arr1[i].S; if((te1>=0 && te1<=(n-1)) && (te2>=0 && te2<=(n-1))){ vte.pb(val[i]); qu.push({{mov+1,prio[i]},{vte,{te1,te2}}}); } } } cout<<"Impossible"<