#include<bits/stdc++.h>
using namespace std;
int f;
int main (){
    int n,i=1,j=1,a[100][100],s=1;
    cin>>n;
    while(s<=n*n){
        a[i][j]=s++;
        if(f==0){
            j++;
            if(j>n||a[i][j]>0){
                j--;
                f=1;
                i++;
            }
        }
        else if(f==1){
            i++;
            if(i>n||a[i][j]>0){
                i--;
                f=2;
                j--;
            }
        }else if(f==2){
            j--;
            if(j<1||a[i][j]>0){
                j++;
                f=3;
                i--;
            }
        }else if(f==3){
            i--;
            if(i<1||a[i][j]>0){
                i++;
                f=0;
                j++;
            }
        }
    }
    for(i=1;i<=n;i++){
        for(j=1;j<=n;j++){
            cout<<setw(3)<<a[i][j];
        }
        cout<<endl;
    }
}
/**************************************************************
	Problem: 1208
	User: lijinkai
	Language: C++
	Result: Accepted
	Time:7 ms
	Memory:2072 kb
****************************************************************/