from queue import Queue def shortedPath(size, rootx, rooty, endx, endy): dis = [[[] for i in range(size)] for j in range(size)] dis[rootx][rooty].append('') q = Queue() q.put([rootx, rooty]) while not q.empty(): curx, cury = q.get() for i in range(len(move)): x = curx + move[i][1] y = cury + move[i][0] if x < 0 or x >= size: continue if y < 0 or y >= size: continue if (len(dis[x][y]) != 0): continue dis[x][y] = dis[curx][cury] + [move[i][2]] if x == endx and y == endy: return dis[x][y] q.put([x, y]) return dis[endx][endy] def main(): size = int(input()) rootx, rooty, endx, endy = [int(i) for i in input().split(' ')] res = shortedPath(size, rootx, rooty, endx, endy) if (len(res) == 0): print('Impossible') return res.remove('') print(len(res)) print(' '.join(res)) if __name__ == '__main__': move = [[-1, -2, 'UL'], [1, -2, 'UR'], [2, 0, 'R'], [1, 2, 'LR'], [-1, 2, 'LL'], [-2, 0, 'L']] main()