import sys from collections import deque MAX = 10**8 dx = [-2,-2, 0, 2, 2, 0] dy = [-1, 1, 2, 1,-1, -2] def printShortestPath(n, i_start, j_start, i_end, j_end): board = [ [MAX]*n for _ in xrange(n) ] parent = [ [None]*n for _ in xrange(n) ] inq = [ [False]*n for _ in xrange(n) ] board[i_start][j_start] = 0 inq[i_start][j_start] = True q = deque([(i_start, j_start)]) while q: i, j = q.popleft() inq[i][j] = False for xx, yy in zip(dx, dy): ii = i + xx jj = j + yy if not (0 <= ii < n) or not (0 <= jj < n): continue if board[ii][jj] <= board[i][j]+1: continue #print i, j, ii, jj, board[i][j] + 1 board[ii][jj] = board[i][j] + 1 parent[ii][jj] = (i, j) if not inq[ii][jj]: inq[ii][jj] = True q.append((ii,jj)) if board[i_end][j_end] == MAX: print "Impossible" else: print board[i_end][j_end] points = [(i_end, j_end)] while parent[points[-1][0]][points[-1][1]] is not None: points.append(parent[points[-1][0]][points[-1][1]]) points = points[::-1] res = [] for (i1, j1), (i2, j2) in zip(points, points[1:]): if i1 - i2 == 0: if j1 - j2 == 2: res.append("L") else: res.append("R") elif i1 - i2 == 2: if j1 - j2 == 1: res.append("UL") else: res.append("UR") else: if j1 - j2 == 1: res.append("LL") else: res.append("LR") print " ".join(res) 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)] printShortestPath(n, i_start, j_start, i_end, j_end)