#!/bin/python3 from collections import deque import sys m = ['UL', 'UR', 'R', 'LR', 'LL', 'L'] di = [-2, -2, +0, +2, +2, +0] dj = [-1, +1, +2, +1, -1, -2] dp = list(zip(di, dj, m)) def printShortestPath(n, ibeg, jbeg, iend, jend): # Print the distance along with the sequence of moves. D = [n*[None] for _ in range(n)] P = [n*[None] for _ in range(n)] D[ibeg][jbeg] = 0 Q = deque([(ibeg, jbeg)]) while Q: i0, j0 = Q.popleft() d = D[i0][j0] + 1 for di, dj, m in dp: i, j = i0 + di, j0 + dj if 0 <= i < n and 0 <= j < n: if P[i][j] is None: Q.append((i, j)) if D[i][j] is None or d < D[i][j]: D[i][j], P[i][j] = d, (i0, j0, m) i, j, M = iend, jend, [] d = D[i][j] if d is None: print('Impossible') else: print(d) while P[i][j]: i, j, m = P[i][j] M.append(m) print(*M[::-1]) return 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)