/*
#include <stdio.h>
int main()
{
printf("Hello world!\n");
return 0;
}
*/
/*
#include<stdio.h>
int main()
{
double a,b,c;
double k;
scanf("%lf %lf %lf",&a,&b,&c);
k=(a+b+c)/3;
printf("%.lf\n%.1lf",a+b+c,k);
return 0;
}
*/
/*
#include<stdio.h>
int main()
{
int a,b;
scanf("%d %d",&a,&b);
printf("%d+%d=%d\n",a,b,a+b);
printf("%d-%d=%d\n",a,b,a-b);
printf("%d*%d=%d\n",a,b,a*b);
printf("%d/%d=%d",a,b,a/b);
return 0;
}
*/
/*
#include<stdio.h>
int main()
{
int t;
scanf("%d",&t);
return 0;
}
*/
/*
#include<stdio.h>
int main()
{
int a,b,c,k;
scanf("%d %d %d",&a,&b,&c);
k=a-b+c;
if(k%10==0){
printf("대박");
}
else{
printf("그럭저럭");
}
return 0;
}
*/
/*
#include<stdio.h>
int main()
{
int t,s;
scanf("%d %d",&t,&s);
if(s>=30){
printf("%d %d",t,s-30);
}
else{
if(t==0){
printf("23 %d",s+30);
}
else{
printf("%d %d",t-1,30+s);
}
}
return 0;
}
*/
/*
#include<stdio.h>
int main()
{
int k,l;
scanf("%d",&k);
l=((k%10)*10+k/10)*2;
if(l%100<=50){
printf("%d\nGOOD",l%100);
}
else{
printf("%d\nOH MY GOD",l%100);
}
return 0;
}
*/
/*
#include<stdio.h>
int main()
{
int n,k,i;
int sum=0;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&k);
if(k%5==0) sum+=k;
}
printf("%d",sum);
return 0;
}
*/
/*
#include<stdio.h>
int main()
{
int n,max=0,i,k;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&k);
if(k>=max) max=k;
}
printf("%d",max);
return 0;
}
*/
/*
#include<stdio.h>
int main()
{
int n,count=1;
scanf("%d",&n);
for(;;)
{
if(n/10==0) break;
count ++;
n/=10;
}
printf("%d",count);
return 0;
}
*/
/*
#include<stdio.h>
int main()
{
double n,days,ch,i,first,k,l;
scanf("%lf",&n);
first=n;
scanf("%lf",&k);
for(i=0;i<k;i++)
{
scanf("%lf",&ch);
n/=100;
n*=100+ch;
}
l=n-first;
if(l>=0.5) printf("%.0f\ngood",l);
else if(l<=-0.5) printf("%.0f\nbad",l);
else printf("%.0f\nsame",l);
return 0;
}
*/
/*
#include<stdio.h>
int main()
{
int i;
char ar[1001]={};
scanf("%s",ar);
for(i=0;ar[i]!=NULL;i++)
{
if(ar[i]>=48&&ar[i]<=57) continue;
else if(ar[i]>=65&&ar[i]<=90) ar[i]+=32;
else if(ar[i]>=97&&ar[i]<=122) ar[i]-=32;
}
for(i=0;ar[i]!=NULL;i++)
{
printf("%c",ar[i]);
}
return 0;
}
*/
/*
#include<stdio.h>
int main()
{
int n,i,j;
scanf("%d",&n);
for(i=0;i<n;i++)
{
for(j=0;j<i;j++)
{
printf(" ");
}
for(j=0;j<n-i;j++)
{
printf("*");
}
printf("\n");
}
return 0;
}
*/
/*
#include<stdio.h>
int main()
{
int h,k,i,j,count=0;
char d;
scanf("%d %d %c",&h,&k,&d);
if(d=='R') count=h-1;
for(i=0;i<h;i++)
{
if(d=='L'){
for(j=0;j<count;j++) printf(" ");
count++;
}
if(d=='R'){
for(j=0;j<count;j++) printf(" ");
count--;
}
for(j=0;j<k;j++) printf("*");
printf("\n");
}
return 0;
}
*/
/*
#include<stdio.h>
int main()
{
int n,k,i,j,ct=1;
scanf("%d %d",&n,&k);
for(i=0;i<n;i++)
{
if(k==1){
for(j=0;j<n;j++) printf("*");
}
else{
if(i==0||i==n-1){
for(j=0;j<n;j++) printf("*");
}
else{
for(j=0;j<n;j++)
{
if(j==0||j==n-1) {
printf("*");
}
else if(j%k==ct){
printf("*");
}
else{
printf(" ");
}
}
}
if(ct==0){
ct=2;
}
else{
ct--;
}
}
printf("\n");
}
return 0;
}
*/
/*
#include<stdio.h>
int main()
{
int lot[1000]={};
int n,i,j,ct=0;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&lot[i]);
}
for(i=0;i<n;i++)
{
for(j=ct;j<n;j++)
{
printf("%d ",lot[j]);
}
for(j=0;j<ct;j++)
{
printf("%d ",lot[j]);
}
ct++;
printf("\n");
}
return 0;
}
*/
/*
#include<stdio.h>
int main()
{
int tile[101][101]={};
int x,y,z,w,i,j,k,ct=0;
for(i=0;i<4;i++)
{
scanf("%d %d %d %d",&x,&y,&z,&w);
for(j=x;j<z;j++)
{
for(k=y;k<w;k++)
{
tile[j][k]=1;
}
}
}
for(i=1;i<=100;i++)
{
for(j=1;j<=100;j++)
{
if(tile[i][j]==1) ct++;
}
}
printf("%d",ct);
return 0;
}
*/
#include<stdio.h>
int main()
{
int n,i,j,ar[50][50],a,b;
scanf("%d",&n);
a=0;
b=n/2;
for(i=1;i<=n*n;i++)
{
if(i%n==0){
ar[a][b]=i;
if(a==n-1) a=0;
else a+=1;
}
ar[a][b]=i;
if(a==0){
a=n-1;
}
else{
a-=1;
}
if(b==n-1){
b=0;
}
else{
b+=1;
}
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("%d ",ar[i][j]);
}
printf("\n");
}
return 0;
}