#include using namespace std; void fun(int n, int i_start, int j_start, int i_end, int j_end,int a[]) { static int k=0,l=0; if(i_endj_start) { k++; //printf("UR "); a[l++]=1; fun(n,i_start-2,j_start+1,i_end,j_end,a); } else if(i_end>i_start and j_end>j_start) { k++; //printf("LR "); a[l++]=3; fun(n,i_start+2,j_start+1,i_end,j_end,a); } else if(i_end>i_start and j_end1 and j_end>j_start) { k++; //printf("R "); a[l++]=2; fun(n,i_start,j_start+2,i_end,j_end,a); } else if(i_end==i_start and j_endi_start and j_end==j_start) { if(j_end==n-1) { k++; a[l++]=4; k++; a[l++]=3; fun(n,i_start+4,j_start,i_end,j_end,a); } else { k++; a[l++]=3; k++; a[l++]=4; fun(n,i_start+4,j_start,i_end,j_end,a); } } else if(i_endn-1 or j_start>n-1 or i_end >n-1 or j_end>n-1 or i_start<0 or j_start<0 or i_end<0 or j_end<0) { printf("Impossible\n"); } else { int a[10000]; fun(n, i_start, j_start, i_end, j_end,a); } } int main() { int n; cin >> 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; }