#include int main(void) { int N, H = 0, W = 0, ans[30][30] = {}, tmp = 0, i, j; scanf("%d", &N); for (i = 0; i < N * N; ++i) { ans[H][W] = i + 1; if (tmp % 4 == 0) { if (W >= N - 1 || ans[H][W + 1] != 0) { ++H; ++tmp; } else ++W; } else if (tmp % 4 == 1) { if (H >= N - 1 || ans[H + 1][W] != 0) { --W; ++tmp; } else ++H; } else if (tmp % 4 == 2) { if (W <= 0 || ans[H][W - 1] != 0) { --H; ++tmp; } else --W; } else { if (H <= 0 || ans[H - 1][W] != 0 ) { ++W; ++tmp; } else --H; } } for (i = 0; i < N; ++i) { for (j = 0; j < N; ++j) printf("%03d ", ans[i][j]); puts(""); } return 0; }