import collections n = int(input()) istart, jstart, iend, jend = map(int, input().split()) grid = [[None] * n for i in range(n)] moves = [ (-2, -1, 'UL'), (-2, +1, 'UR'), (0, +2, 'R'), (+2, +1, 'LR'), (+2, -1, 'LL'), (0, -2, 'L')] grid[istart][jstart] = (-1,-1,'') active = collections.deque() active.append((istart,jstart)) while active: i, j = active.popleft() for di, dj, dir in moves: i2 = i + di; j2 = j + dj if i2 < 0 or i2 >= n or j2 < 0 or j2 >= n or grid[i2][j2]: continue grid[i2][j2] = (i, j, dir) if i == iend and j == jend: active.clear() break active.append((i2,j2)) if grid[iend][jend]: i = iend; j = jend; path = [] while True: i, j, dir = grid[i][j] if dir == '': break path.append(dir) path.reverse() print(len(path)) print(*path) else: print('Impossible')