#!/bin/python3 import sys def canReach(n, x0,y0,x1,y1): x = abs(x0-x1) y = abs(y0-y1) return (x%2==0) and ((y+(x/2))%2 == 0) order = {'UL':0, 'UR':1,'R':2,'LR':3,'LL':4,'L':5} def printShortestPath(n, i_start, j_start, i_end, j_end): # Print the distance along with the sequence of moves. if not canReach(n,i_start,j_start,i_end,j_end): print('Impossible') return x,y = i_start,j_start ans = [] while x!=i_end or y!=j_end: r = [] if x > i_end: r.append('U') x -= 2 elif x < i_end: r.append('L') x += 2 if y > j_end: r.append('L') y -= 2 if len(r) == 1 else 1 else: r.append('R') y += 2 if len(r) == 1 else 1 ans.append(''.join(r)) ans = sorted(ans, key=lambda x: order[x]) print(len(ans)) print(' '.join(ans)) 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)