#!/bin/python import sys def pick_move(i,j,i_end,j_end): steps = abs(i - i_end)/2 if i > i_end and (steps - 1 + j - 1 >= j_end) :#j >= j_end: return "UL",(i-2,j-1) if i > i_end and j < j_end: return "UR",(i-2,j+1) r_diff = j_end - j if j < j_end and r_diff - 2 >= steps: return "R",(i, j+2) if i < i_end and (j+1 - steps +1)<= j_end: #j <= j_end: return "LR",(i+2,j+1) if i < i_end and j > j_end: return "LL",(i+2,j-1) if i == i_end and j > j_end: return "L",(i, j-2) def printShortestPath(n, i_start, j_start, i_end, j_end): i_diff = abs(i_start - i_end) j_diff = abs(j_start - j_end) i_steps = i_diff/2 if (i_diff%2 == 1) or (i_steps%2 != j_diff%2): print "Impossible" return steps = 0 path = [] i,j = i_start,j_start while i != i_end or j != j_end: move,(i,j) = pick_move(i,j,i_end, j_end) steps += 1 path.append(move) print steps print " ".join(path) if __name__ == "__main__": n = int(raw_input().strip()) i_start, j_start, i_end, j_end = raw_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)