process.stdin.resume(); process.stdin.setEncoding('ascii'); var input_stdin = ""; var input_stdin_array = ""; var input_currentline = 0; process.stdin.on('data', function (data) { input_stdin += data; }); process.stdin.on('end', function () { input_stdin_array = input_stdin.split("\n"); main(); }); function readLine() { return input_stdin_array[input_currentline++]; } /////////////// ignore above this line //////////////////// function printShortestPath(n, i_start, j_start, i_end, j_end) { // Print the distance along with the sequence of moves. let j_diff = Math.abs(j_end-j_start), i_diff = Math.abs(i_end-i_start); let result = ''; let count = 0; if (i_diff%2 || i_diff/2%2 && !(j_diff%2) || !(i_diff/2%2) && j_diff%2 ) { console.log("Impossible"); return; } while(i_start != i_end || j_start != j_end) { if (i_start > i_end) { i_start -=2; if ((i_start-i_end)/2 > j_end-j_start) { result += 'UL '; j_start -= 1; } else { result += 'UR '; j_start += 1; } } else if (j_start < j_end && (j_end-j_start)*2 > i_end-i_start) { result += 'R'; j_start += 2; } else if (i_start < i_end) { i_start += 2; if ((i_end - i_start)/2 > j_start - j_end) { result += 'LR '; j_start += 1; } else { result += 'LL '; j_start -= 1; } } else { result += 'L '; j_start -= 2; } count += 1; } console.log(count) console.log(result) } function main() { var n = parseInt(readLine()); var i_start_temp = readLine().split(' '); var i_start = parseInt(i_start_temp[0]); var j_start = parseInt(i_start_temp[1]); var i_end = parseInt(i_start_temp[2]); var j_end = parseInt(i_start_temp[3]); printShortestPath(n, i_start, j_start, i_end, j_end); }