#!/bin/python3 import sys def printShortestPath(n, i_start, j_start, i_end, j_end): q = [] v = [i_start, j_start] q.append(v) while len(q)>0: cv = q.pop(0) nd = chess[cv[0]][cv[1]] +1 si = cv[0] sj = cv[1] possibleN = [[si-2, sj-1],[si-2,sj+1],[si,sj+2],[si+2, sj+1],[si+2, sj-1],[si,sj-2]] for mov, nei in enumerate(possibleN,1): ii = nei[0] jj = nei[1] #print(nei) if ii<0 or ii>n-1 or jj<0 or jj>n-1: continue elif chess[ii][jj] != 0: continue else: chess[ii][jj] = nd pre[ii][jj] = cv choices[ii][jj] = mov q.append(nei) if cv == [i_end, j_end]: return 0 return 0 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)] chess = [[0 for i in range(n)] for j in range(n)] pre = [[None for i in range(n)] for j in range(n)] choices = [[0 for i in range(n)] for j in range(n)] printShortestPath(n, i_start, j_start, i_end, j_end) spath = chess[i_end][j_end] dicto = {1:"UL",2:"UR",3:"R",4:"LR",5:"LL",6:"L"} res = [] if spath <= 0: print('Impossible') else: print(spath) for i in range(spath): flag = choices[i_end][j_end] res.append(dicto[flag]) i_end, j_end = pre[i_end][j_end] for j in range(len(res)-1,-1,-1): print(res[j], end=" ")