#!/bin/python import sys order=["ul","ur","r", "lr", "ll", "l"] d={ "ul": lambda i,j:(i-2,j-1), "ur": lambda i,j:(i-2,j+1), "r": lambda i,j:(i,j+2), "lr": lambda i,j:(i+2,j+1), "ll": lambda i,j:(i+2,j-1), "l": lambda i,j:(i,j-2) } def printShortestPath(n, i_start, j_start, i_end, j_end): def v(i,j): return 0<=i0: i,j = q.pop(0) steps = board[i][j]+1 for od in order: newi,newj=d[od](i,j) if (not v(newi,newj)) or 0<=board[newi][newj]: continue board[newi][newj] = steps src[newi][newj] = ((i,j),od) q.append((newi,newj)) if board[i_end][j_end]==-1: print "Impossible" else: print board[i_end][j_end] path=[] i,j=i_end, j_end while i!=i_start or j!=j_start: (i,j),od=src[i][j] path.append(od) path = path[::-1] for i in path: print i.upper(), print 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)