#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 main(){ int n; cin >> n; // your code goes here for (int i = 1; i < n; i++) { for (int j = 1; j < n; j++) { int dist[26][26]; memset(dist, -1, sizeof(dist)); int q[26 * 26], sz = 0; q[sz++] = 0; dist[0][0] = 0; for (int s = 0; s < sz; s++) { int r = q[s] / n, c = q[s] % n; for (int a = -1; a < 2; a += 2) { for (int b = -1; b < 2; b += 2) { int nr = r + a * i; int nc = c + b * j; if (nr < 0 || nr >= n || nc < 0 || nc >= n || dist[nr][nc] != -1) { continue; } dist[nr][nc] = dist[r][c] + 1; q[sz++] = nr * n + nc; } } for (int a = -1; a < 2; a += 2) { for (int b = -1; b < 2; b += 2) { int nr = r + a * j; int nc = c + b * i; if (nr < 0 || nr >= n || nc < 0 || nc >= n || dist[nr][nc] != -1) { continue; } dist[nr][nc] = dist[r][c] + 1; q[sz++] = nr * n + nc; } } } cout << dist[n - 1][n - 1] << " "; } cout << endl; } return 0; }