#include using namespace std; int row[6]={-2,-2,0,2,2,0}; int col[6]={-1,1,2,1,-1,-2}; int res=0,ss=INT_MAX; vectorv,ans; void dfs(int a,int b,int c,int d,int *vis,int n){ *(vis+a*n+b)=1; if(a==c&&b==d){ res++; if(v.size()=n||db<0||db>=n) continue; if(*(vis+da*n+db)==1) continue; v.push_back(i); dfs(da,db,c,d,(int *)vis,n); //return true; *(vis+da*n+db)=0; v.pop_back(); } } int main(){ int n,i,j,a,b,c,d; cin>>n; int vis[n][n]; memset(vis,0,sizeof(vis)); cin>>a>>b>>c>>d; dfs(a,b,c,d,(int *)vis,n); if(res==0) cout<<"Impossible"; else { cout<