#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;
}