#include<stdio.h>
int main()
{
int a[100][100] = { 1 }, n, i = 0, j = 0, k = 1;
//k=1表示向左走,k=2表示从右上角向左下角走
//k=3表示向下走,k=4表示从左下角向右上角走
scanf("%d", &n);
while (i != n-1||j != n-1)
{
if (k == 1)
{
a[i][j + 1] = a[i][j] + 1;
j = j + 1;
if (i == 0)
k = 2;
else if (i == n - 1)
k = 4;
}
else if (k == 2)
{
a[i + 1][j - 1] = a[i][j] + 1;
i = i + 1;
j = j - 1;
if (j == 0 && i != n - 1)
k = 3;
else if (i == n - 1)
k = 1;
else
k = 2;
}
else if (k == 3)
{
a[i + 1][j] = a[i][j] + 1;
i = i + 1;
if (j == 0)
k = 4;
else if (j == n - 1)
k = 2;
}
else if (k == 4)
{
a[i - 1][j + 1] = a[i][j] + 1;
i = i - 1;
j = j + 1;
if (i == 0 && j != n - 1)
k = 1;
else if (j == n - 1)
k = 3;
else
k = 4;
}
}
for (i = 0; i < n; i++)
{
for (j = 0; j < n; j++)
printf("%d ", a[i][j]);
printf("\n");
}
return 0;
}