#!/bin/python3 import sys def printShortestPath(n, i_start, j_start, i_end, j_end): # Print the distance along with the sequence of moves. if i_end == i_start and j_end == j_start: print("") return i_delta = i_end - i_start j_delta = j_end - j_start if (i_delta % 2) or (not(i_delta % 4) and j_delta % 2) or ((i_delta % 4) and (j_delta + 1) % 2): print("Impossible") return i_curr = i_start; j_curr = j_start; pathes = list() steps = {"UL": [-1,-2], "UR": [1,-2], "R": [2,0], "LR": [1,2], "LL": [-1,2], "L": [-2,0]} step_num = 0 while (i_curr != i_end or j_curr != j_end) and step_num <= max(abs(j_end - j_start), abs(i_end - i_start)): step_num += 1 val_of_steps = dict() for k,v in steps.items(): val_of_steps[k] = abs(i_end - i_curr - v[1]) + abs(j_end - j_curr - v[0]) best_step_val = min(val_of_steps.values()) for step_name in ["UL", "UR", "R", "LR", "LL", "L"]: if val_of_steps[step_name] == best_step_val: pathes.append(step_name) i_curr += steps[step_name][1] j_curr += steps[step_name][0] break print(len(pathes)) print(" ".join(pathes)) 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)