#include<iostream>
using namespace std;
int main(){
    int n,i,j,s=1,k,a,t,h=0;
    cin>>n;
    int b[n][n];
    k=n-1;
    for(i=0;i<n;i++){
        for(j=0;j<n;j++) b[i][j]=0;
    }
    for(j=0;j<n;j++){
        b[0][j]=s;
        s++;
    }
    for(a=1;a<=n/2;a++){
        for(t=0;t<k;t++){
            if(b[a+t][n-a]!=0){
                h=1;
                break;
            }else{
                b[a+t][n-a]=s;
                s++;
            }   
        }
        for(t=1;t<=k;t++){
            if(b[a+k-1][n-a-t]!=0){
                h=1;
                break;
            }else{
                b[a+k-1][n-a-t]=s;
                s++;
            }
        }
        k--;
        for(t=1;t<=k;t++){
            if(b[a+k-t][n-a-k-1]!=0){
                h=1;
                break;
            }else{
                b[a+k-t][n-a-k-1]=s;
                s++;    
            }
              
        }
        for(t=1;t<=k;t++){
            if(b[a][n-a-k-1+t]!=0){
                h=1;
                break;
            }else{
                b[a][n-a-k-1+t]=s;
                s++;    
            }
        }
        k--;
        if(h==1) break;
    }
    for(i=0;i<n;i++){
        for(j=0;j<n;j++) printf("%3d",b[i][j]);
        cout<<endl;
    }
}
/**************************************************************
	Problem: 1208
	User: chenlingxuan
	Language: C++
	Result: Accepted
	Time:8 ms
	Memory:2076 kb
****************************************************************/