#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: hongjiaming
	Language: C++
	Result: Accepted
	Time:10 ms
	Memory:2072 kb
****************************************************************/