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) { let d_vert = Math.abs(i_start - i_end); let d_hori = Math.abs(j_start - j_end); if (d_vert % 2 == 1) { console.log("Impossible"); return; } // Vertical distance is even. if (d_vert % 4 == 0 ) { if (d_hori % 2 != 0) { console.log("Impossible"); return; } } if (d_vert % 4 != 0 ) { if (d_hori % 2 == 0) { console.log("Impossible"); return; } } // Reachable. let dist = d_vert / 2; if (d_hori - d_vert/2 > 0 ) { dist += (d_hori - d_vert/2)/2; } console.log(dist); let path = ''; if (i_start >= i_end) { if (j_start >= j_end) { // upper left let max_left = d_vert/2; let ul = Math.min(max_left, d_vert/4 + d_hori/2); for(let i = 0; i < ul; i++ ) { path += 'UL '; } for(let i = ul; i < d_vert/2; i++ ) { path += 'UR '; } for(let i = 0; i < (d_hori - d_vert/2)/2 ; i++ ) { path += 'L'; } } else { // upper right let max_right = d_vert/2; let ur = Math.min(max_right, d_vert/4 + d_hori/2); for(let i = ur; i < d_vert/2; i++ ) { path += 'UL '; } for(let i = 0; i < ur; i++ ) { path += 'UR '; } for(let i = 0; i < (d_hori - d_vert/2)/2 ; i++ ) { path += 'R'; } } } else { if (j_start <= j_end) { // lower right let max_right = d_vert/2; let lr = Math.min(max_right, d_vert/4 + d_hori/2); for(let i = 0; i < (d_hori - d_vert/2)/2 ; i++ ) { path += 'R'; } for(let i = 0; i < lr; i++ ) { path += 'LR '; } for(let i = lr; i < d_vert/2; i++ ) { path += 'LL '; } } else { // lower left let max_left = d_vert/2; let ll = Math.min(max_right, d_vert/4 + d_hori/2); for(let i = 0; i < ll; i++ ) { path += 'LR '; } for(let i = ll; i < d_vert/2; i++ ) { path += 'LL '; } for(let i = 0; i < (d_hori - d_vert/2)/2 ; i++ ) { path += 'L'; } } } console.log(path); // Print the distance along with the sequence of moves. } 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); }