#include <stdio.h>
#include <string.h>
#define M 101
int s[M][M];
int main()
{
int n, i, j, t;
while(scanf("%d", &n) != EOF){
memset(s, 0, sizeof(s));
t = 1;
s[i=1][j=n] = t++;
while(t <= n*n){
while(i+1 <= n && !s[i+1][j]){
s[++i][j] = t++;
}
while(j-1 >= 1 && !s[i][j-1]){
s[i][--j] = t++;
}
while(i-1 >= 1 && !s[i-1][j]){
s[--i][j] = t++;
}
while(j+1 <= n && !s[i][j+1]){
s[i][++j] = t++;
}
}
for(i = 1; i <= n; i++)
{
for(j = 1; j < n; j++)
{
printf("%d ", s[i][j]);
}
printf("%d\n", s[i][j]);
}
}
return 0;
}