#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
cin>>n;
int a[100][100]={0},d=0,i=1,j=1,s=1;
int di[] = {0,1,0,-1};
int dj[] = {1,0,-1,0};
while (s<=n*n){
a[i][j] = s++;
int ni=i+di[d];
int nj=j+dj[d];
if (ni<1||ni>n||nj<1||nj>n||a[ni][nj]!=0){
d=(d+1)%4;
ni=i+di[d];
nj=j+dj[d];
}
i = ni;
j = nj;
}
for (i = 1; i <= n; i++) {
for (j = 1; j <= n; j++) {
cout << setw(3) << a[i][j];
}
cout << endl;
}
return 0;
}
/**************************************************************
Problem: 1208
User: panyuchen
Language: C++
Result: Accepted
Time:9 ms
Memory:2072 kb
****************************************************************/