/*
#include<stdio.h>
int main()
{
int a[101][101],i,j,n,m,k=1;
scanf("%d %d",&n,&m);
for(j=1; j<=m; j++)
{
if(j%2==1)
{
for(i=n; i>=1; i--)
{
a[i][j]=k;
k++;
}
}
else
{
for(i=1; i<=n; i++)
{
a[i][j]=k;
k++;
}
}
}
for(i=1; i<=n; i++)
{
for(j=m; j>=1; j--)
{
printf("%d ",a[i][j]);
}
printf("\n");
}
}
/*
#include<stdio.h>
int main()
{
int a[101][101],i,j,n,m,k=1;
scanf("%d %d",&n,&m);
for(j=1; j<=m; j++)
{
if(j%2==1)
{
for(i=1; i<=n; i++)
{
a[i][j]=k;
k++;
}
}
else
{
for(i=n; i>=1; i--)
{
a[i][j]=k;
k++;
}
}
}
for(i=1; i<=n; i++)
{
for(j=m; j>=1; j--)
{
printf("%d ",a[i][j]);
}
printf("\n");
}
}
/*
#include<stdio.h>
int main()
{
int a[101][101],i,j,n,k;
scanf("%d",&n);
for(i=1; i<=n; i++)
{
scanf("%d",&a[i][1]);
}
for(i=2;i<=n;i++)
{
for(j=2; j<=i; j++)
{
a[i][j]=a[i][j-1]-a[i-1][j-1];
}
}
for(i=1; i<=n; i++)
{
for(j=1; j<=i; j++)
{
printf("%d ",a[i][j]);
}
printf("\n");
}
}
/*
#include<stdio.h>
int main()
{
int a[12][11],i,j,n,k=1;
for(i=1; i<=11; i++)
{
for(j=1; j<=10; j++)
{
scanf("%d",&a[i][j]);
}
}
for(j=1; j<=10; j++)
{
if(a[11][j]==1)
{
for(i=10; i>=1; i--)
{
if(a[i][j]>0)
{
printf("%d crash\n",j);
break;
}
else if(a[i][j]<0)
{
printf("%d fall\n",j);
break;
}
else if(i==1)
{
printf("%d safe\n",j);
}
}
}
}
}
/*/
#include<stdio.h>
int main()
{
int a[51][51],i,j,n,k=1,b,m=0,x,y;
scanf("%d",&n);
x=1;
y=(n+1)/2;
for(i=1; i<=n*n; i++)
{
m++;
a[x][y]=1;
a[x][y]=k++;
if(m%n==0)
{
a[x+1][y]=k;
k++;
}
else if(k%n==0)
{
a[x-1][y-2]=k;
k++;
}
else if(i<)
{
a[x+n-1][y+1]=k;
k++;
}
else
{
a[x-1][y+1]=k;
k++;
}
}
for(i=1; i<=n; i++)
{
for(j=1; j<=n; j++)
{
printf("%d",a[x][y]);
}
printf("\n");
}
}