#!/bin/python3 import sys mi1=999999 fin=[] ele=[] hel=["UL","LL","L"] hel1=["UR","R","LR"] hel2=["UL","UR","R","L"] hel3=["R","LR","LL","L"] er=[9999999] def path1(n, i, j, i1, j1,ans,dis,mi,fin): e=0 d1=((i1)*10)+(j1) if(i==i1 and j==j1): #print("got it") if(er[0]>dis): #print("got it") #print(ans) if len(fin)!=0: del fin[0] del er[0] er.append(dis) fin.insert(0,ans) #print(fin) return dis elif(er[0]==dis): t=0 #print(ans) #print(fin[0]) for h in range(len(fin[0])): if(fin[0][h]==hel[t] and ans[h]==hel[t]): t=t+1 elif(ans[h]==hel[t]): del fin[0] fin.append(ans) elif(fin[0][h]==hel[t]): break return dis else: return 999999 if(j-1>=0 and i-2>=0): #print("going upper",i," ",j) ans1=ans[:] ans1.append("UL") m1=path1(n,i-2,j-1,i1,j1,ans1,dis+1,mi,fin) if(mi>m1): mi=m1 if(j-1>=0 and i+2m2): mi=m2 if(j-2>=0): #print("going left",i," ",j) ans1=ans[:] ans1.append("L") m3=path1(n,i,j-2,i1,j1,ans1,dis+1,mi,fin) if(mi>m3): mi=m3 return 9999999 def path2(n, i, j, i1, j1,ans,dis,mi,fin): if(i==i1 and j==j1): #print("got it") if(er[0]>dis): #print("got it") #print(ans) if len(fin)!=0: del fin[0] del er[0] er.append(dis) fin.insert(0,ans) #print(fin) return dis elif(er[0]==dis): t=0 for h in range(len(fin[0])): if(fin[0][h]==hel1[t] and ans[h]==hel1[t]): t=t+1 elif(ans[h]==hel1[t]): del fin[0] fin.append(ans) elif(fin[0][h]==hel1[t]): break return dis else: return 999999 if(j+1=0): #print("going upper") ans1=ans[:] ans1.append("UR") m1=path2(n,i-2,j+1,i1,j1,ans1,dis+1,mi,fin) if(mi>m1): mi=m1 if(j+2m3): mi=m3 if(j+1m2): mi=m2 return 9999999 def path3(n, i, j, i1, j1,ans,dis,mi,fin,prev): if(i==i1 and j==j1): #print("got it") if(er[0]>dis): #print("got it") #print(ans) if len(fin)!=0: del fin[0] del er[0] er.append(dis) fin.insert(0,ans) #print(fin) return dis elif(er[0]==dis): t=0 #print(ans) #print(fin[0]) for h in range(len(fin[0])): if(fin[0][h]==hel2[t] and ans[h]==hel2[t]): t=t+1 elif(ans[h]==hel2[t]): del fin[0] fin.append(ans) elif(fin[0][h]==hel2[t]): break return dis else: return 999999 if(j-1>=0 and i-2>=0): #print("going upper",i," ",j) ans1=ans[:] ans1.append("UL") m1=path3(n,i-2,j-1,i1,j1,ans1,dis+1,mi,fin,"UL") if(mi>m1): mi=m1 if(j+1=0): #print("going upper") ans1=ans[:] ans1.append("UR") m1=path3(n,i-2,j+1,i1,j1,ans1,dis+1,mi,fin,"UR") if(mi>m1): mi=m1 if(j+2m3): mi=m3 if(j-2>=0 and prev!="R"): #print("going left",i," ",j) ans1=ans[:] ans1.append("L") m3=path3(n,i,j-2,i1,j1,ans1,dis+1,mi,fin,"L") if(mi>m3): mi=m3 return 9999999 def path4(n, i, j, i1, j1,ans,dis,mi,fin,prev): if(i==i1 and j==j1): #print("got it") if(er[0]>dis): #print("got it") #print(ans) if len(fin)!=0: del fin[0] del er[0] er.append(dis) fin.insert(0,ans) #print(fin) return dis elif(er[0]==dis): t=0 #print(ans) #print(fin[0]) for h in range(len(fin[0])): if(fin[0][h]==hel3[t] and ans[h]==hel3[t]): t=t+1 elif(ans[h]==hel3[t]): del fin[0] fin.append(ans) elif(fin[0][h]==hel3[t]): break return dis else: return 999999 if(j+2m3): mi=m3 if(j+1m2): mi=m2 if(j-1>=0 and i+2m2): mi=m2 if(j-2>=0 and prev!="R"): #print("going left",i," ",j) ans1=ans[:] ans1.append("L") m3=path4(n,i,j-2,i1,j1,ans1,dis+1,mi,fin,"L") if(mi>m3): mi=m3 return 9999999 if __name__ == "__main__": n = int(input().strip()) i_start, j_start, i_end, j_end = input().strip().split(' ') i_start, j_start, i_end, j_end = [int(i_start), int(j_start), int(i_end), int(j_end)] l2=[] if(j_endj_start): path2(n, i_start, j_start, i_end, j_end,l2,0,9999999,fin) if(len(fin)!=0): print(er[0]) print(' '.join(map(str,fin[0]))) else: print("Impossible") if(j_end==j_start and i_start>i_end): path3(n, i_start, j_start, i_end, j_end,l2,0,9999999,fin,"") if(len(fin)!=0): print(er[0]) print(' '.join(map(str,fin[0]))) else: print("Impossible") if(j_end==j_start and i_start