#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int a[45][45];
int main()
{
	
	int x,y,i,j,n,k;
memset(a,sizeof(a),0);
scanf("%d",&n);
x=1;
y=(n+1)/2;
a[x][y]=1;
i=2;

while(i<=n*n)
{
	if(x==1&&y!=n)
	{  
		x=n;y=y+1;
		a[x][y]=i;
		
	}
 else if(x!=1&&y==n)
	{ x=x-1;y=1;
	a[x][y]=i;
		
	}
 else if(x==1&&y==n)
	{
		x=x+1;
		y=y;
		a[x][y]=i;	
	}
else if(x!=1&&y!=n)
	{
		if(a[x-1][y+1]==0)
		 {
		 	x=x-1;y=y+1;a[x][y]=i;	
		 }
		 else 
		 {
		 	x=x+1;y=y;a[x][y]=i;	
		 }
	}
	
	
	
	
	i++;
	
	
	}
	for(k=1;k<=n;k++)
	{
	for(j=1;j<=n;j++)
{
		if(j==1)printf("%d",a[k][j]); else printf(" %d",a[k][j]);}
  if(k!=n)	printf("\n");
	}
	return 0;
	
}
/**************************************************************
	Problem: 2344
	User: admin
	Language: C
	Result: Accepted
	Time:46 ms
	Memory:1152 kb
****************************************************************/