#include<stdio.h>
#include<stdlib.h>
int main()
{
int m,n,k,i,j,N;
int *p= NULL;
scanf("%d",&N);
p=(int *)calloc(N*N,sizeof(int));
p[0*N+(N-1)/2]=1;
p[(N-1)*N+(N+1)/2]=2;
for(k=3;k<=N*N;k++)
{
for(i=0;i<=N-1;i++)
{
if(p[0*N+i]==k-1&&i!=N-1)
p[(N-1)*N+i+1]=k;
}
if(p[(N-1)*N+i+1]==k)
{
m=N-1;
n=i+1;
continue;
}
for(i=0;i<=N-1;i++)
{
if(p[i*N+N-1]==k-1&&i!=0)
{
p[(i-1)*N+0]=k;
m=i-1;
n=0;
continue;
}
}
if(p[0*N+N-1]==k-1)
{
p[1*N+N-1]=k;
m=1;
k=N-1;
continue;
}
for(i=0;i<=N-1;i++)
{
if(p[0*N+i]!=k-1&&p[i*N+N-1]!=k-1&&p[(m-1)*N+k+1]==0)
p[(m-1)*N+k+1]=k;
else p[(m+1)*N+k]=k;
}
}
for(i=0;i<=N-1;i++)
{
for(j=0;j<=N-1;j++)
printf(" %d",p[i*N+j]);
printf("\n");
}
free(p);
return 0;
}