#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
const int N = 13, N2 = N*N+1, NS = N*N/2+1, N_ = N - 1;
int M[N][N];
int x = 0, y = 0, s = 0;
for(int i = 1; i <= NS; ++i)
{
M[y][x] = i;
M[N_-y][N_-x] = N2-i;
if (s) { ++x; y -= (s = y != 0); }
else { ++y; x -= !(s = x == 0); }
}
for(int r = 0; r < N; ++r)
{
for(int c = 0; c < N; ++c)
{
cout << setw(4) << M[r][c];
}
cout << endl;
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8aW9tYW5pcD4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpCnsKICAgIGNvbnN0IGludCBOID0gMTMsIE4yID0gTipOKzEsIE5TID0gTipOLzIrMSwgTl8gPSBOIC0gMTsKICAgIGludCBNW05dW05dOwogICAgaW50IHggPSAwLCB5ID0gMCwgcyA9IDA7CiAgICBmb3IoaW50IGkgPSAxOyBpIDw9IE5TOyArK2kpCiAgICB7CiAgICAgICAgTVt5XVt4XSA9IGk7CiAgICAgICAgTVtOXy15XVtOXy14XSA9IE4yLWk7CiAgICAgICAgaWYgKHMpIHsgKyt4OyB5IC09ICAocyA9IHkgIT0gMCk7IH0KICAgICAgICBlbHNlICAgeyArK3k7IHggLT0gIShzID0geCA9PSAwKTsgfQogICAgfQoKICAgIGZvcihpbnQgciA9IDA7IHIgPCBOOyArK3IpCiAgICB7CiAgICAgICAgZm9yKGludCBjID0gMDsgYyA8IE47ICsrYykKICAgICAgICB7CiAgICAgICAgICAgIGNvdXQgPDwgc2V0dyg0KSA8PCBNW3JdW2NdOwogICAgICAgIH0KICAgICAgICBjb3V0IDw8IGVuZGw7CiAgICB9Cn0K