#!/bin/python3 import sys paths = [] max1 = 10000 def moves(n,i_start,j_start,i_end,j_end,table,a,move): global paths,max1 if i_start==i_end and j_start==j_end: return True else: table[i_start][j_start] = -1 for p,q,r in move: if i_start+p>=0 and j_start+q>=0 and i_start+plen(a): paths = [] paths.extend(a) max1 = len(a) #print(*table,sep = "\n") #print("\n") table[i_start+p][j_start+q] = 0 a.reverse() a.remove(r) a.reverse() def printShortestPath(n, i_start, j_start, i_end, j_end): w, h = n, n; table = [[0 for x in range(w)] for y in range(h)] a = [] move = [(-2,-1,'UL'),(-2,1,'UR'),(0,2,'R'),(2,1,'LR'),(2,-1,'LL'),(0,-2,'L')] moves(n,i_start,j_start,i_end,j_end,table,a,move) 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)] printShortestPath(n, i_start, j_start, i_end, j_end) if len(paths)!=0: print(len(paths)) print(*paths) else: print("Impossible")