/*
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("Hello world!\n");
return 0;
}
*/
/*
#include <stdio.h>
int main()
{
int i,j,arr[12][11]={},sum=0;
for(i=1;i<=11;i++)
{
for(j=1;j<=10;j++)
{
scanf("%d",&arr[i][j]);
}
}
for(i=1;i<=10;i++)
{
if(arr[11][i]==1)
{
sum=0;
for(j=10;j>=1;j--)
{
if(arr[j][i]==0)
{
sum++;
if(sum==10)
{
printf("%d safe\n",i);
}
}
else if(arr[j][i]>0)
{
printf("%d crash\n",i);
break;
}
else if(arr[j][i]<0)
{
printf("%d fall\n",i);
break;
}
}
}
}
return 0;
}
*/
/*
#include <stdio.h>
int main()
{
int i,j,arr[15][15]={},sum=0, r, c;
//1. 지뢰찾기 맵 입력받기
for(i=1;i<=9;i++)
{
for(j=1;j<=9;j++)
{
scanf("%d",&arr[i][j]);
}
}
//2. 알아볼 자리 입력받기
scanf("%d %d",&r, &c);
//3. arr[r][c]가 지뢰인지?
if(arr[r][c]==1)
{
printf("-1");
return 0;
}
//4. 아니라면 주변 8칸에 몇개있는지?
for(i=r-1;i<=r+1;i++)
{
for(j=c-1;j<=c+1;j++)
{
if(arr[i][j]==1)
{
sum++;
}
}
}
printf("%d",sum);
return 0;
}
*/
#include <stdio.h>
int main()
{
int k,n,arr[51][51]={},i,j;
scanf("%d",&n);
//마방진 채우기
i=1;j=n/2+1;
for(k=1;k<=n*n;k++)
{
arr[i][j]=k;
if(k%n==0)
{
i++;
continue;
}
if(i==1) i=n;
else i--;
if(j==n) j=1;
else j++;
}
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
printf("%d ",arr[i][j]);
}
printf("\n");
}
return 0;
}