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) { if(!bothOddOrEven(i_start, i_end)){ console.log('Impossible'); } else{ if(distanceMod4(i_start, i_end) === 0){ if(isEven(j_start, j_end)){ buildPath(n, i_start, j_start, i_end, j_end); } else{ console.log('Impossible'); } } else{ if(isEven(j_start, j_end)){ console.log('Impossible'); } else{ buildPath(n, i_start, j_start, i_end, j_end); } } } } function buildPath(n, is, js, ie, je){ let moves = []; let movecount = 0; let i = is; let j = js; while((i !== ie) || (j !== je)){ let string = nextMove(n, i, j, ie, je); moves.push(string); switch(string){ case 'UL': j-=1;i-=2;break; case 'UR': j+=1;i-=2;break; case 'R': j+=2;break; case 'LR': j+=1;i+=2;break; case 'LL': j-=1;i+=2;break; case 'L': j-=2;break; } movecount++; } console.log(movecount); console.log(moves.join(' ')); } function nextMove(n, is, js, ie, je){ if(ie < is){ if(je <= js){ return "UL"; }else{ return "UR"; } } if(ie === is){ if(je < js){ return "L"; } else{ return "R"; } } if(ie > is){ if(je >= js){ return "LR"; } else { return "LL"; } } } function isEven(a,b){ let temp = Math.abs(a-b); if(temp % 2 === 0){return true;} return false; } function distanceMod4(a,b){ let temp = Math.abs(a-b); temp = temp % 4; return temp; } function bothOddOrEven(a,b){ if(a % 2 === 0 && b % 2 === 0){return true;} if(a % 2 !== 0 && b % 2 !== 0){return true;} return false; } 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); }