#include <iostream>
using namespace std;
int main()
{
int n, i = 1, j = 1, k = 1, a[30][30] = { 0 }, c = 1, s = 4;
cin >> n;
for (i = 1; i <= n; i++)//规定可以放数字的格子
{
for (j = 1; j <= n; j++)
{
a[i][j] = 1;
}
}
i = 1;
j = 1;
while (k <= (n * n))//向右放数字
{
while (a[i][j] == 1)
{
a[i][j] = k;
j++;
k++;
}
j = j - 1;
i++;
while (a[i][j] == 1)//向下放数字
{
a[i][j] = k;
i++;
k++;
}
i--;
j--;
while (a[i][j] == 1)//向左放数字
{
a[i][j] = k;
j--;
k++;
}
j++;
i--;
while ((a[i][j] == 1) && (i != 1))//向上放数字
{
a[i][j] = k;
i--;
k++;
}
i++;
j++;
}
for (i = 1; i <= n; i++)
{
for (j = 1; j <= n; j++)
{
if (a[i][j] >= 10)
{
cout << ' ' << a[i][j] << ' ';
}
else
{
cout << ' ' << ' ' << a[i][j] << ' ';
}
}
if(i<n)
{
cout << '\n';
}
}
return 0;
}