#include<iostream>
#include<cstring>
using namespace std;
int n[40][40];
int pnx[1600],pny[1600];
int main()
{
int a;
cin>>a;
n[1][a+1/2]=1;
pnx[1]=1;
pny[1]=a+1/2;
for(int i=2;i<=a*a;i++)
{
if(pnx[i-1]==1&&pny[i-1]!=a)
{
pnx[i]=a;
pny[i]=pny[i-1]+1;
n[pnx[i]][pny[i]]=i;
}
if(pnx[i-1]!=1&&pny[i-1]==a)
{
pnx[i]=pnx[i-1]+1;
pny[i]=1;
n[pnx[i]][pny[i]]=i;
}
if(pnx[i-1]==1&&pny[i-1]==a)
{
pnx[i]=2;
pny[i]=a;
n[pnx[i]][pny[i]]=i;
}
if(pnx[i-1]!=1&&pny[i-1]!=a)
{
if(n[pnx[i-1]+1][pny[i-1]+1]==0)
{
pnx[i]=pnx[i-1]+1;
pny[i]=pny[i-1]+1;
}
else
{
pnx[i]=pnx[i-1]+1;
pny[i]=pny[i-1]-1;
}
n[pnx[i]][pny[i]]=i;
}
}
for(int i=1;i<=a;i++)
{
for(int j=1;j<=a;j++)
{
cout<<n[i][j];
if(j!=a)
cout<<" ";
}
cout<<endl;
}
cout<<endl;
return 0;
}