#include #include #include #include #include #include using namespace std; const vector dx = {1, 0, -1, 0}; const vector dy = {0, 1, 0, -1}; int main() { int n; cin >> n; vector> a(n, vector(n, -1)); int x = 0; int y = 0; int dir = 0; int nx, ny; int z = 1; while (z <= n*n) { while (0 <= x && x < n && 0 <= y && y < n && a[y][x] == -1) { a[y][x] = z; x = (x + dx[dir]) % 4; y = (y + dy[dir]) % 4; z++; } x = (x + 4 - dx[dir]) % 4; y = (y + 4 - dy[dir]) % 4; dir = (dir + 1) % 4; x = (x + dx[dir]) % 4; y = (y + dy[dir]) % 4; } for (auto aa : a) { for (auto aaa : aa) { printf("%03d ", aaa); } printf("\n"); } return 0; }