#include using namespace std; #define test() int t;scanf("%d",&t);for(int tno=1;tno<=t;tno++) #define mp make_pair #define pb push_back #define wl(n) while(n--) #define fi first #define se second #define all(c) c.begin(),c.end() typedef long long ll; typedef unsigned long long llu; typedef vector vi; typedef pair pii; typedef pair > piii ; typedef pair pll; typedef pair pli; #define sz(a) int((a).size()) #define ini(a,v) memset(a,v,sizeof(a)) #define sc(x) scanf("%d",&x) #define sc2(x,y) scanf("%d%d",&x,&y) #define sc3(x,y,z) scanf("%d%d%d",&x,&y,&z) #define scl(x) scanf("%lld",&x) #define scl2(x,y) scanf("%lld%lld",&x,&y) #define scl3(x,y,z) scanf("%lld%lld%lld",&x,&y,&z) #define scs(s) scanf("%s",s); #define gcd __gcd #define debug() printf("here\n") #define chk(a) cerr << endl << #a << " : " << a << endl #define chk2(a,b) cerr << endl << #a << " : " << a << "\t" << #b << " : " << b << endl #define tr(container, it) for(typeof(container.begin()) it = container.begin(); it != container.end(); it++) #define MOD 1000000007 #define inf ((1<<29)-1) #define linf ((1LL<<60)-1) const double eps = 1e-9; //----------------------------------------------------------------------------------------------- const int MAX = 201; int a[MAX]={0}; int n; int sx,sy,ex,ey; int vis[MAX][MAX]; void print(int x){ if(x==0){ printf("UL "); } if(x==1){ printf("UR "); } if(x==2){ printf("R "); } if(x==3){ printf("LR "); } if(x==4){ printf("LL "); } if(x==5){ printf("L "); } return; } int dx[]={-2,-2,0,2,2,0}; int dy[]={-1,1,2,1,-1,-2}; int valid(int x,int y){ if(x>=n||x<0||y>=n||y<0||vis[x][y]==1) return 0; return 1; } void bfs(){ queue< pair< pii, pair > > >Q; vis[sx][sy] = 1; vectorv; Q.push(mp(mp(sx,sy),mp(0,v))); while(!Q.empty()){ pair< pii, pair > > p = Q.front(); Q.pop(); int x = p.fi.fi; int y = p.fi.se; int l = p.se.fi; vectorv = p.se.se; if(x==ex&&y==ey){ printf("%d\n",l); for(int i=0;iv1; v1 = v; v1.pb(i); pii p; p.fi = x1; p.se = y1; pair >pp; pp.fi = l + 1; pp.se = v1; pair< pii, pair > > ppp; ppp.fi = p; ppp.se = pp; Q.push(ppp); } } } printf("Impossible\n"); } int main() { int i,j,k; sc(n); sc2(sx,sy); sc2(ex,ey); bfs(); return 0; }