#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; int n; int count (int a, int b) { vector v[n]; for (int i=0; iv[i][j]+1) { v[i+a][j+b]=v[i][j]+1; ok=false; } if (i+a=0 && v[i+a][j-b]>v[i][j]+1) { v[i+a][j-b]=v[i][j]+1; ok=false; } if (i-a>=0 && j+bv[i][j]+1) { v[i-a][j+b]=v[i][j]+1; ok=false; } if (i-a>=0 && j-b>=0 && v[i-a][j-b]>v[i][j]+1) { v[i-a][j-b]=v[i][j]+1; ok=false; } if (i+bv[i][j]+1) { v[i+b][j+a]=v[i][j]+1; ok=false; } if (i+b=0 && v[i+b][j-a]>v[i][j]+1) { v[i+b][j-a]=v[i][j]+1; ok=false; } if (i-b>=0 && j+av[i][j]+1) { v[i-b][j+a]=v[i][j]+1; ok=false; } if (i-b>=0 && j-a>=0 && v[i-b][j-a]>v[i][j]+1) { v[i-b][j-a]=v[i][j]+1; ok=false; } } } if (v[n-1][n-1]==100000) return -1; return v[n-1][n-1]; } int main(){ cin >> n; vector ans[n]; for (int i=0; i