#include <iostream>

using namespace std;

int main() {
    int **x, n;
    cin >> n;
    x = new int *[n];
    for (int i = 0; i < n; i++) x[i] = new int[n];
    int nc = n, num = 1;
    for (int z = 0; z < nc; z++) {
        for (int i = z; i < nc; i++) {
            x[z][i] = num;
            num++;
        }
        for (int i = z + 1; i < nc; i++) {
            x[i][nc - 1] = num;
            num++;
        }
        for (int i = nc - 2; i >= z; i--) {
            x[nc - 1][i] = num;
            num++;
        }
        for (int i = nc - 2; i >= z + 1; i--) {
            x[i][z] = num;
            num++;
        }
        nc--;
    }
    for (int l = 0; l < n; l++) {
        for (int k = 0; k < n; k++) {
            cout << x[l][k];
            if (k != n - 1) cout << " ";
        }
        if (l != n - 1) cout << endl;
    }
    return 0;
}