#include <bits/stdc++.h>
using namespace std;
int n;
int x = 1, y = 1;
int a[15][15];
bool judge(int x, int y) {
if (x >= 1 && x <= n && y >= 1 && y <= n && a[x][y] == 0)
return true;
else
return false;
}
int main() {
int d = 0;
const int dire[4][2] = {{0, 1}, {1, 0}, {0, -1}, {-1, 0}}; //左侧1,-1管上下,右侧1,-1管左右
cin >> n;
for (int i = 1; i <= n * n; i++) {
a[x][y] = i;
if (!judge(x + dire[d][0], y + dire[d][1])) {
d++;
d %= 4;
}
x += dire[d][0];
y += dire[d][1];
}
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++)
cout << setw(3) << setfill(' ') << a[i][j];
cout << endl;
}
return 0;
}