#include<iostream>
using namespace std;
#include<math.h>
int main()
{
int a[10][10];int count=1;
for(int i=0;i<=10;i++)
{
for(int j=0;j<=9;j++)
{
a[i][j]=0;
}
}
int n;
cin>>n;int b=n;int m=0;int c=0;int m1=1,m2=2*b-1,m3=1,m4;
int o1=1,o2=1,o3=1,o4=1,o5=n,o6=n,o7=n,o8=n;
//n*n会掉头2n-1次
while(m2--)
{
//以n=5为例子
m=(m+1)%4; //1右 2下 3左 4上
if(m==1)
{
for(int i=o1;i<=o5-1;i++)
{
a[o1][i]=count++;
}
o1++;
o5--;
}
if(m==2)
{
for(int j=o2;j<=o6;j++)
{
a[j][o6]=count++;
}
o6--;
o2++;
}
if(m==3)
{
for(int i=o7-1;i>=o3;i--)
{
a[o7][i]=count++;
}
o7--;
o3++;
}
if(m==0)
{
for(int j=o8-1;j>=o4+1;j--)
{
a[j][o4]=count++;
}
o8--;
o4++;
}
}
if(n%2!=0)
a[n/2+1][n/2+1]=count;
for(int i=1;i<=n;i++)
{ for(int j=1;j<=n;j++)
if(a[i][j]<10)
{
cout<<" "<<a[i][j];
}
else
{
cout<<" "<<a[i][j];
}
cout<<endl;
}
}