#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: admin
Language: C++
Result: Accepted
Time:9 ms
Memory:2076 kb
****************************************************************/