#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
int a[20][20];
int x=1,y=0,k=1;
while(k<=n*n)//向右,在向下,向左,向上
{//条件是不越界然后右边没有东西
while(y<n&&!a[x][y+1])
{
a[x][y+1]=k;
y++;
k++;
}
while(x<n&&!a[x+1][y])
{
a[x+1][y]=k;
x++;
k++;
}
while(y>1&&!a[x][y-1])
{
a[x][y-1]=k;
y--;
k++;
}
while(x>1&&!a[x-1][y])
{
a[x-1][y]=k;
x--;
k++;
}
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
printf("%3d",a[i][j]);
}
printf("\n");
}
return 0;
}