#!/bin/python #UL, UR, R, LR, LL, L import sys from collections import * sys.setrecursionlimit(10**9) def f(x1,y1): done = defaultdict(bool) path = defaultdict(list) queue = [(x1,y1)] done[(x1,y1)] = True path[(x1,y1)] = [] ind = 0 while not done[(i_end,j_end)]: if (queue[ind][0]-2)>=0 and (queue[ind][1]-1)>=0 and not done[(queue[ind][0]-2,queue[ind][1]-1)]: queue.append((queue[ind][0]-2,queue[ind][1]-1)) done[(queue[ind][0]-2,queue[ind][1]-1)] = True path[(queue[ind][0]-2,queue[ind][1]-1)] = path[(queue[ind][0],queue[ind][1])]+["UL"] if (queue[ind][0]-2)>=0 and (queue[ind][1]+1)=0 and not done[(queue[ind][0]+2,queue[ind][1]-1)]: queue.append((queue[ind][0]+2,queue[ind][1]-1)) done[(queue[ind][0]+2,queue[ind][1]-1)] = True path[(queue[ind][0]+2,queue[ind][1]-1)] = path[(queue[ind][0],queue[ind][1])]+["LL"] if (queue[ind][1]-2)>=0 and not done[(queue[ind][0],queue[ind][1]-2)]: queue.append((queue[ind][0],queue[ind][1]-2)) done[(queue[ind][0],queue[ind][1]-2)] = True path[(queue[ind][0],queue[ind][1]-2)] = path[(queue[ind][0],queue[ind][1])]+["L"] ind += 1 return path[(i_end,j_end)] def printShortestPath(n, i_start, j_start, i_end, j_end): if (abs(j_start-j_end)&1 and (abs(i_start-i_end)+2)%4) or (not abs(j_start-j_end)&1 and (abs(i_start-i_end))%4): return "Impossible" return f(i_start,j_start) if __name__ == "__main__": n = int(raw_input().strip()) i_start, j_start, i_end, j_end = raw_input().strip().split(' ') i_start, j_start, i_end, j_end = [int(i_start), int(j_start), int(i_end), int(j_end)] x = printShortestPath(n, i_start, j_start, i_end, j_end) if x=="Impossible": print x else: print len(x) print " ".join(x)