#include <stdio.h>
int main() {
int n;
printf("n? ");
scanf("%d", &n);
int s = 2 * n;
int a[s + 1][s + 1];
int c = (s + 1) * (s + 1) - 1;
a[n][n] = 0;
for (int k = 0; k <= n; ++k) {
for (int i = k; i < s - k; ++i) a[i][s - k] = c--;
for (int i = k; i < s - k; ++i) a[s - k][s - i] = c--;
for (int i = k; i < s - k; ++i) a[s - i][k] = c--;
for (int i = k; i < s - k; ++i) a[k][i] = c--;
}
for (int i = 0; i <= s; ++i) {
for (int j = 0; j <= s; ++j) printf("%4d", a[i][j]);
puts("");
}
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiAKaW50IG1haW4oKSB7CiAgICBpbnQgbjsKICAgIHByaW50Zigibj8gIik7CiAgICBzY2FuZigiJWQiLCAmbik7CiAgICBpbnQgcyA9IDIgKiBuOwogICAgaW50IGFbcyArIDFdW3MgKyAxXTsKICAgIGludCBjID0gKHMgKyAxKSAqIChzICsgMSkgLSAxOwogICAgYVtuXVtuXSA9IDA7CiAgICBmb3IgKGludCBrID0gMDsgayA8PSBuOyArK2spIHsKICAgICAgICBmb3IgKGludCBpID0gazsgaSA8IHMgLSBrOyArK2kpIGFbaV1bcyAtIGtdID0gYy0tOwogICAgICAgIGZvciAoaW50IGkgPSBrOyBpIDwgcyAtIGs7ICsraSkgYVtzIC0ga11bcyAtIGldID0gYy0tOwogICAgICAgIGZvciAoaW50IGkgPSBrOyBpIDwgcyAtIGs7ICsraSkgYVtzIC0gaV1ba10gPSBjLS07CiAgICAgICAgZm9yIChpbnQgaSA9IGs7IGkgPCBzIC0gazsgKytpKSBhW2tdW2ldID0gYy0tOwogICAgfQogICAgZm9yIChpbnQgaSA9IDA7IGkgPD0gczsgKytpKSB7CiAgICAgICAgZm9yIChpbnQgaiA9IDA7IGogPD0gczsgKytqKSBwcmludGYoIiU0ZCIsIGFbaV1bal0pOwogICAgICAgIHB1dHMoIiIpOwogICAgfQp9