#include<bits/stdc++.h>
using namespace std;
int A[21][21];
int main(){
int n;
cin>>n;
int sum=1;
int i=1,j=0; //j必须从0开始,确保每个点都被判断到是否访问过,如果j=1,那么A[1][1]不能被判断。导致程序错误,无法执行。
while(sum<=n*n) {
while(j<n&&!A[i][j+1]) A[i][++j]=sum++;
while(i<n&&!A[i+1][j]) A[++i][j]=sum++;
while(j>1&&!A[i][j-1]) A[i][--j]=sum++;
while(i>1&&!A[i-1][j]) A[--i][j]=sum++;
}
for(int ii=1;ii<=n;ii++){
for(int jj=1;jj<=n;jj++){
cout<<A[ii][jj];
if(jj!=n)cout<<" ";
}
cout<<endl;
}
return 0;
}