//Problem code: TIC05
#include<stdio.h>
#include<malloc.h>
void program(int x)
{
int a[20][20]={0};
int c=1,i;
/a=(int*)malloc(20sizeof(int));
for(i=0;i<20;i++)
a[i]=(int*)malloc(20sizeof(int));/
int n,m,k,l;
n=m=x;
k=l=0;
while(k<m && l<n)
{
for(i=l;i<n;++i)
{
a[k][i]=c;
c++;
}
k++;
for(i=k;i<m;++i)
{
a[i][n-1]=c;
c++;
}
n--;
if(k<m)
{
for(i=n-1;i>=l;--i)
{
a[m-1][i]=c;
c++;
}
m--;
}
if(l<n)
{
for(i=m-1;i>=k;--i)
{
a[i][l]=c;
c++;
}
l++;
}
}
for(i=0;i<x;i++)
{
for(c=0;c<x;c++)
{
printf("%d\t",a[i][c]);
}
printf("\n");
}
}
int main()
{
int n;
scanf("%d",&n);
program(n);
return 0;
}