#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
cin>>n;
int a[100][100]={0},d=0,i=1,j=1,s=1;
int di[]={0,1,0,-1};
int dj[]={1,0,-1,0};
while(s<=n*n){
a[i][j]=s++;
int ni=i+di[d];
int nj=j+dj[d];
if(ni<1||ni>n||nj<1||nj>n||a[ni][nj]!=0){
d=(d+1)%4;
ni=i+di[d];
nj=j+dj[d];
}
i=ni;
j=nj;
}
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
cout<<setw(3)<<a[i][j];
}
cout<<endl;
}
return 0;
}
/**************************************************************
Problem: 1208
User: wuweimo
Language: C++
Result: Accepted
Time:10 ms
Memory:2072 kb
****************************************************************/