#include<stdio.h>
#include<math.h>
#include<iostream>
#include<algorithm>
using namespace std;
int main(){
int pre_r=0,pre_c=0;
int n;
scanf("%d",&n);
int s=0,num=n*n;
int Fz[n+1][n+1]={0};
int h=n-(n-1);
int Q;
if( n%2!=0)
Q=(n/2)+1;
else Q=(n/2);
for(int quan=0;quan<Q&&s<num;quan++){
int c=0,r=0;
for(c=pre_c+1;c<=n-quan&&s<num;c++)
{
if(pre_r==0){
pre_r++;
}
Fz[pre_r][c]=++s;
}
pre_r=pre_r; pre_c=--c;
c=0;
for(r=pre_r+1;r<=n-quan&&s<num;r++)
{
Fz[r][pre_c]=++s;
}
pre_r=--r; pre_c=pre_c;
r=0;
for(c=pre_c-1;c>=(h)&&s<num;c--)
{
Fz[pre_r][c]=++s;
}
h++;
pre_r=pre_r; pre_c=++c;
c=0;
int x=quan+2;
for(r=pre_r-1;r>=(x)&&s<num;r--)
{
Fz[r][pre_c]=++s;
}
pre_r=++r; pre_c=pre_c;
r=0;
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
printf("%3d",Fz[i][j]);
}
printf("\n");
}
return 0;
}