#include <iostream>
#include <vector>

using namespace std;
vector< vector<int> > w(100, vector<int>(100));
int n,x=0,y=0,m=1;

void f1(int n){
    for(int i=0;i<n;i++){
        w[x][y+i]=m;
        m++;
        };
    x++;y+=n-1;
};

void f2(int n){
    for(int i=0;i<n;i++){
        w[x+i][y]=m;
        m++;
        };
    x+=n-1;y--;
};

void f3(int n){
    for(int i=0;i<n;i++){
        w[x][y-i]=m;
        m++;
        };
    x--;y-=n-1;
};

void f4(int n){
    for(int i=0;i<n;i++){
        w[x-i][y]=m;
        m++;
        };
    x-=n-1;y++;
};

void out(){
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++)cout<<w[i][j]<<' ';
        cout<<endl;
        };
};

int main(){
    int k;
    cin>>n;
    for(int i=0;i<=(n-1)*2;i++){
        k=n-(i+1)/2;
        if(i%4==0)f1(k);
        if(i%4==1)f2(k);
        if(i%4==2)f3(k);
        if(i%4==3)f4(k);
        };
    out();
    return 0;
}
