#include <iostream>
#include<fstream>
long int a[10000][10000],n,j,i,gt,d,hang,cot;
using namespace std;
void tao(){
	d=0; gt=1; hang=n-1; cot=n-1;
	while(d<=n/2){
		for(i=d;i<=cot;i++) a[d][i]=gt++;
		for(i=d+1;i<=hang;i++) a[i][cot]=gt++;
		for(i=cot-1;i>=d;i--) a[hang][i]=gt++;
		for(i=hang-1;i>d;i--) a[i][d]=gt++;
		d++; hang--; cot--;
	}
}

void inkq(){
    fstream fi,fo;
    fo.open("matranxoay.out",ios::out);
	for(i=0;i<n;i++){
		for(j=0;j<n;j++)
            fo<<a[i][j];
		fo<<endl;
	}
}

int main(){
    fstream fi,fo;
    fi.open("matranxoay.inp",ios::in);
    fo.open("matranxoay.out",ios::out);
	fi>>n;
	tao();
	inkq();
}
