#include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; int main() { int32_t n; cin >> n; vector> mat(n, vector(n)); int32_t x = 0, y = 0, c = 1; for (auto d = n - 1; d > 0; d -= 2) { for (auto i = 0; i < d; ++i) { mat[x][y] = c; ++c; ++x; } for (auto i = 0; i < d; ++i) { mat[x][y] = c; ++c; ++y; } for (auto i = 0; i < d; ++i) { mat[x][y] = c; ++c; --x; } for (auto i = 0; i < d; ++i) { mat[x][y] = c; ++c; --y; } ++x; ++y; } if (n % 2 == 1) mat[x][y] = c; for (auto i = 0; i < n; ++i) { for (auto j = 0; j < n; ++j) { printf("%03d%c", mat[j][i], j == n - 1 ? '\n' : ' '); } } return 0; }