#include using namespace std; const std::vector dx = {1, 0, -1, 0}, dy = {0, 1, 0, -1}; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int N; cin >> N; vector> res(N, vector(N, 0)); int cur = 0; int y = 0, x = 0; for (int i = 0; i < N * N; i++) { res[y][x] = i + 1; int ny = y + dy[cur], nx = x + dx[cur]; if (ny < 0 || ny >= N || nx < 0 || nx >= N || res[ny][nx] != 0) { cur = (cur + 1) % 4; ny = y + dy[cur], nx = x + dx[cur]; } y = ny, x = nx; } for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) { cout << setfill('0') << right << setw(3) << res[i][j] << (j == N - 1 ? '\n' : ' '); } } return 0; }