from collections import deque surround = [(-2, -1, "UL"), (-2, 1, "UR"), (0, 2, "R"), (2, 1, "LR"), (2, -1, "LL"), (0, -2, "L")] def printShortestPath(n, i_start, j_start, i_end, j_end): dist = [[-1 for _ in range(n)] for _ in range(n)] path = [[[] for _ in range(n)] for _ in range(n)] q = deque([(i_start, j_start)]) dist[i_start][j_start] = 0 while len(q) > 0: i, j = q.popleft() if i == i_end and j == j_end: print(dist[i][j]) print(*path[i][j]) return for dx, dy, name in surround: if 0 <= i + dx < n and 0 <= j + dy < n and dist[i + dx][j + dy] == -1: q.append((i + dx, j + dy)) dist[i + dx][j + dy] = dist[i][j] + 1 path[i + dx][j + dy] = path[i][j] + [name] print("Impossible") 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)