#include using namespace std; int path=0; int flag=0; bool check=false; void checkShortestPath(int n, int i_start, int j_start, int i_end, int j_end){ if(i_end==i_start+1 || i_end==i_start-1){ cout << "Impossible"; flag=1; return; } if(i_end==i_start && (j_end==j_start+1 || j_end==j_start-1)){ cout << "Impossible"; flag=1; return; } if(i_endj_start){ path++; checkShortestPath(n,i_start-2,j_start+1,i_end,j_end); } if(i_end==i_start && j_end>j_start){ path++; checkShortestPath(n,i_start,j_start+2,i_end,j_end); } if(i_end>i_start && j_end>=j_start){ path++; checkShortestPath(n,i_start+2,j_start+1,i_end,j_end); } if(i_end>i_start && j_endj_start){ cout << "UR "; printShortestPath(n,i_start-2,j_start+1,i_end,j_end); } if(i_end==i_start && j_end>j_start){ cout << "R "; printShortestPath(n,i_start,j_start+2,i_end,j_end); } if(i_end>i_start && j_end>=j_start){ cout << "LR "; printShortestPath(n,i_start+2,j_start+1,i_end,j_end); } if(i_end>i_start && j_end> n; int i_start; int j_start; int i_end; int j_end; cin >> i_start >> j_start >> i_end >> j_end; printShortestPath(n, i_start, j_start, i_end, j_end); return 0; }