#include using namespace std; typedef vector vi; typedef pair ii; typedef long long ll; typedef pair l4; typedef vector vll; typedef double db; typedef vector vdb; typedef pair dd; typedef set si; typedef set sll; #define fi first #define se second #define matrix(a) vector< vector > #define sz(a) int((a).size()) #define lop(i,a,b) for (int i=a; i<=b; i++) #define rlop(i,a,b) for (int i=b; i>=a; i--) #define all(s) (s).begin(),(s).end() #define pb push_back #define enter cout<<'\n' #define lb(i,v) int(lower_bound(all(v),i)-v.begin()) #define ub(i,v) int(upper_bound(all(v),i)-v.begin()) int n,is,js,ie,je,im,jm; vector moves(6); vector movename={"UL","UR","R","LR","LL","L"}; void printans(matrix(int)& prev){ vi step; int it=ie,jt=je,t; while(it!=is||jt!=js){ step.pb(prev[it][jt]); t=prev[it][jt]; it-=moves[t].fi; jt-=moves[t].se; } cout<>n; moves[0]=ii(-2,-1); moves[1]=ii(-2,1); moves[2]=ii(0,2); moves[3]=ii(2,1); moves[4]=ii(2,-1); moves[5]=ii(0,-2); matrix(int) grid(n,vi(n,0)),prev(n,vi(n)); cin>>is>>js>>ie>>je; deque q; q.pb(ii(is,js)); grid[is][js]=1; while(!q.empty()){ int in,jn; im=q.front().fi; jm=q.front().se; q.pop_front(); /*cout<=0&&in=0&&jn