#!/bin/ruby def printShortestPath(n, i_start, j_start, i_end, j_end) # Print the distance along with the sequence of moves. row_change = i_end - i_start col_change = j_end - j_start if row_change == 2 && col_change % 2 == 1 if col_change < 0 puts (1 + col_change/-2) print "LR " + "L "*(col_change/-2) else puts (1+col_change/2) print "LR " + "R "*(col_change/2) end elsif row_change == 4 && col_change %2==0 if col_change>0 puts (2+(col_change-2)/2) print "LR LR " +"R "*((col_change-2)/2) elsif col_change < 0 puts (2+(col_change+2)/2) print "LL LL "+ "L "*(col_change+2/-2) else puts 2 print "LR LL" end elsif row_change == 6 && col_change %2==1 if col_change == 1 puts 3 print "LR LR LL" elsif col_change == -1 puts 3 print "LR LL LL" elsif col_change >0 puts (3+((col_change-3)/2)) print "LR LR LR " + "R "*((col_change-3)/2) else puts (3+((col_change+3)/-2)) print "LL LL LL " + "L "*((col_change+3)/-2) end elsif row_change == 0 && col_change %2 == 0 if col_change > 0 puts (col_change/2) print "R "*(col_change/2) elsif col_change < 0 puts col_change/-2 print "L "*(col_change/-2) else puts 2 print "UL RL" end elsif row_change == -2 && col_change %2==1 if col_change > 0 puts (1+col_change/2) print "UR " + "R "*(col_change/2) else puts (1+col_change/-2) print "UL " + "L "*(col_change/-2) end elsif row_change == -4 && col_change %2==0 if col_change == 0 puts 2 print "UL UR" elsif col_change > 0 puts (2+((col_change-2)/2)) print "UR UR " + "R "*((col_change-2)/2) elsif col_change < 0 puts (2+((col_change+2)/-2)) print "UL UL " + "L "*((col_change+2)/-2) end elsif row_change == -6 && col_change %2 == 1 if col_change == 1 puts 3 print "UL UR UR" elsif col_change == 1 puts 3 print "UL UL UR" elsif col_change > 0 puts (3+((col_change-3)/2)) print "UR UR UR " + "R "*((col_change-3)/2) else puts (3+((col_change+3)/-2)) print "UL UL UL " + "L "*((col_change +3)/-2) end else print "Impossible" end end n = gets.strip.to_i i_start, j_start, i_end, j_end = gets.strip.split(' ') i_start = i_start.to_i j_start = j_start.to_i i_end = i_end.to_i j_end = j_end.to_i printShortestPath(n, i_start, j_start, i_end, j_end)