#include #include #include #include #include using namespace std; int b[1000][3]; int c[100][100]; int n; void init() { for (int i = 0; i <= n; ++i) { for (int j = 0; j <= n; ++j) { c[i][j] = 1000000000; } } } int solved(int r1, int r2) { init(); int len = 0; c[1][1] = 0; b[len][1] = 1; b[len][2] = 1; int left = 0; while (left <= len) { for (int k = 0; k < 2; ++k) for (int i = 0; i < 2; ++i) { for (int j = 0; j < 2; ++j) { int x, y; if (k) { x = b[left][1] + ((i == 0)? r1 : -r1); y = b[left][2] + ((j == 0)? r2 : -r2); } else { x = b[left][1] + ((j == 0)? r2 : -r2); y = b[left][2] + ((i == 0)? r1 : -r1); } if (x > 0 && x <= n && y > 0 && y <= n) { int c1 = c[x][y]; int c2 = c[b[left][1]][b[left][2]]; if (c1 > c2 + 1) { c[x][y] = c[b[left][1]][b[left][2]] + 1; len++; b[len][1] = x; b[len][2] = y; } } } } ++left; } return c[n][n]; } int main() { /* Enter your code here. Read input from STDIN. Print output to STDOUT */ cin>>n; for (int i = 1; i < n; ++i) { for (int j = 1; j < n; ++j) { int rr = solved(i, j); cout<<((rr == 1000000000)? -1 : rr)<<" "; } cout<<"\n"; } return 0; }