#include using namespace std; typedef long long ll; #define sci(fd) scanf("%d",&fd) #define scll(fd) scanf("%lld",&fd) #define pb push_back #define mp make_pair #define MOD 1000000007 #define PI 3.1415926535897932 #define pii pair < int,int > #define pll pair < ll,ll > #define fi first #define se second #define LOGN 20 const ll infi=1000000000000000009; int vis[30][30],n; int ar[4][2]={1,1,-1,-1,1,-1,-1,1}; bool check(int x,int y) { return (x>=1&&x<=n&&y>=1&&y<=n); } int doit(int a,int b) { int i,j; queue < pair < pii ,int> > q; q.push(mp(mp(1,1),0)); vis[1][1]=1; int ans=-1; while(!q.empty()) { int x=q.front().fi.fi; int y=q.front().fi.se; int z=q.front().se; q.pop(); for(i=0;i<4;i++) { int na=x+a*ar[i][0]; int nb=y+b*ar[i][1]; if(check(na,nb)&&vis[na][nb]==0) { if(na==n&&nb==n&&ans==-1) ans=z+1; vis[na][nb]=1; q.push(mp(mp(na,nb),z+1)); } if(check(nb,na)&&vis[nb][na]==0) { if(na==n&&nb==n&&ans==-1) ans=z+1; vis[nb][na]=1; q.push(mp(mp(nb,na),z+1)); } } } return ans; } int main() { int i,j; sci(n); for(i=1;i