#!/bin/ruby def printShortestPath(n, i_start, j_start, i_end, j_end) if (i_start%2 != i_end%2) print "Impossible" elsif (j_start == j_end) if i_start > i_end index = (i_start - i_end)/2 puts index (index/2).times {print "UL UR "} else index = -(i_start - i_end)/2 puts index (index/2).times {print "LR LL "} end elsif (i_start == i_end) if j_start > j_end index = (j_start - j_end)/2 puts index index.times {print "L "} else index = -(j_start - j_end)/2 puts index index.times {print "R "} end elsif (i_start > i_end) if (j_start > j_end) index1 = (i_start - i_end)/2 index2 = ((j_start - j_end) - index1)/2 index = index1 + index2 puts index index1.times {print "UL "} index2.times {print "L "} elsif (j_start < j_end) index1 = (i_start - i_end)/2 index2 = (-(j_start - j_end) - index1)/2 index = index1 + index2 puts index index1.times {print "UR "} index2.times {print "R "} end elsif (i_start < i_end) if (j_start > j_end) index1 = -(i_start - i_end)/2 index2 = ((j_start - j_end) - index1)/2 index = index1 + index2 puts index index1.times {print "LL "} index2.times {print "L "} elsif (j_start < j_end) index1 = -(i_start - i_end)/2 index2 = (-(j_start - j_end) - index1)/2 index = index1 + index2 puts index index1.times {print "LR "} index2.times {print "R "} end 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)