#!/bin/python3 import sys def printShortestPath(n, i_start, j_start, i_end, j_end): # Print the distance along with the sequence of moves. moves = 0 res = [] if (i_end - i_start) % 2 != 0: print('Impossible') return res else: iturns = int((i_end - i_start) / 2) if (abs(j_end - j_start) - abs(iturns)) % 2 != 0: print('Impossible') return res else: # definitely has a solution i_curr = i_start j_curr = j_start while(i_curr != i_end or j_curr != j_end): moves += 1 if i_curr > i_end: i_curr -= 2 if (j_curr >= j_end-int((i_curr-i_end)/2-1)) and j_curr > 0: # UL priors to UR res.append('UL') j_curr -= 1 else: #j_curr < j_end or j_curr == 0: res.append('UR') j_curr += 1 elif i_curr <= i_end and j_curr < j_end-1-int((i_end-i_curr)/2): # R priors to LL/LR/L j_curr += 2 res.append('R') elif i_curr < i_end: i_curr += 2 if j_curr <= j_end+int((i_end-i_curr)/2) and j_curr < n-1: # LR priors to LL res.append('LR') j_curr += 1 else: # j_curr > j_end or j_curr == n-1 res.append('LL') j_curr -= 1 else: #i_curr == i_end and j_curr > j_end: j_curr -= 2 res.append('L') print(moves) print(' '.join(res)) return res 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)