#include<cstdio>
#include<algorithm>
using namespace std;
inline int read()
{
int x=0,w=1;
char ch=0;
while(ch<'0'||ch>'9')
{
if(ch=='-') w=-1;
ch=getchar();
}
while(ch>='0'&&ch<='9')
{
x=(x<<1)+(x<<3)+(ch^48);
ch=getchar();
}
return x*w;
}
inline void write(int x)
{
if(x<0)
{
x=-x;
putchar('-');
}
if(x>=10) write(x/10);
putchar((x%10)^48);
}
int a[50][50];
int main()
{
int n=read();
const int n2=n*n;
a[1][n+1>>1]=1;
int k1i=1,k1j=n+1>>1;
for(int i=2;i<=n2;i++)
{
bool vis=0;
if(k1i==1&&k1j!=n&&!vis) a[n][++k1j]=i,k1i=n,vis=1;
if(k1j==n&&k1i!=1&&!vis) a[--k1i][1]=i,k1j=1,vis=1;
if(k1i==1&&k1j==n&&!vis) a[++k1i][k1j]=i,vis=1;
if(!vis)
{
if(!a[k1i-1][k1j+1]) a[--k1i][++k1j]=i;
if(!a[k1i+1][k1j]) a[++k1i][k1j]=i;
}
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++) write(a[i][j]),putchar(' ');
putchar('\n');
}
return 0;
}