#include #define ll long long int #define fio ios_base::sync_with_stdio(0);cin.tie(0) #define sd(t) scanf("%d",&t) #define pd(t) printf("%d\n",t) #define slld(t) scanf("%lld",&t) #define plld(t) printf("%lld\n",t) #define sc(t) scanf("%c",&t) #define pb(x) push_back(x) #define ii pair #define vi vector #define vvi vector #define vii vector #define vvii vector #define clr(x) memset(x,0,sizeof(x)) #define rep(i,begin,end) for(__typeof(end) i=begin-(begin>end);i!=end-(begin>end);i+=1-2*(begin>end)) #define M_PI 3.14159265358979323846 #define MOD 1000000007 #define MAX 100005 #define EPS 1e-12 using namespace std; int dx[] = {1,-1,1,-1}; int dy[] = {1,1,-1,-1}; int n, A[30][30]; int go(int a, int b) { rep(i,0,25) rep(j,0,25) A[i][j] = -1; A[0][0] = 0; queue q; q.push({0,0}); while(!q.empty()) { ii src = q.front(); q.pop(); int x = src.first, y = src.second; for(int i=0; i<4; i++) { int x1 = x + dx[i]*a; int y1 = y + dy[i]*b; if(x1<0 || x1>=n || y1<0 || y1>=n) continue; if(A[x1][y1]==-1) { A[x1][y1] = A[x][y] + 1; q.push({x1,y1}); } } for(int i=0; i<4; i++) { int x1 = x + dx[i]*b; int y1 = y + dy[i]*a; if(x1<0 || x1>=n || y1<0 || y1>=n) continue; if(A[x1][y1]==-1) { A[x1][y1] = A[x][y] + 1; q.push({x1,y1}); } } } return A[n-1][n-1]; } int main() { sd(n); int ans[25][25]; int yo = (n-1)/2; for(int i=1; i