/*#include<stdio.h>
int main()
{
char a[100] = {};
for(int i = 0; i < 10; i++)
scanf(" %c", &a[i]);
for(int i = 0; i < 10; i++)
printf("%c", a[i]);
}*/
/*#include<stdio.h>
int main()
{
int n, i;
int a[10000] = {};
scanf("%d", &n);
for(i=0; i<n; i++)
scanf("%d", &a[i]);
for(i=n-1; i>=0; i--)
printf("%d ", a[i]);
return 0;
}*/
/*#include<stdio.h>
int main()
{
int h, w, n, i, j, b;
int l[10000] = {}, d[10000] = {}, x[10000] = {}, y[10000] = {};
int a[105][105] = {};
scanf("%d %d", &h, &w);
scanf("%d", &n);
for(i = 1; i <= n; i++)
scanf("%d %d %d %d", &l[i], &d[i], &x[i], &y[i]);
for(b = 1; b <= n; b++)
{
for(i = 1; i <= h; i++)
{
for(j = 1; j <= w; j++)
{
if(x[b]==i&&y[b]==j)
{
a[i][j] = 1;
if(l[b]>1&&d[b]==0)
{
y[b]++;
l[b]--;
}
else if(l[b]>1&&d[b]==1)
{
x[b]++;
l[b]--;
}
}
}
}
}
for(i = 1; i <= h; i++)
{
for(j = 1; j <= w; j++)
{
printf("%d ", a[i][j]);
}
printf("\n");
}
}*/
/*
#include<stdio.h>
int main()
{
int i, j, a[100][100], x = 2, y = 2;
for(i = 1; i <= 10; i++)
{
for(j = 1; j <= 10; j++)
{
scanf("%d", &a[i][j]);
}
}
if(a[y][x] == 2)
{
a[y][x] = 9;
}
else
{
a[y][x] = 9;
while(1)
{
if(a[y][x+1]==1&&a[y+1][x]==1)
{
break;
}
else if(a[y][x+1]==2)
{
x++;
a[y][x] = 9;
break;
}
else if(a[y][x+1]==0)
{
x++;
a[y][x] = 9;
}
else if(a[y][x+1]==1)
{
if(a[y+1][x]==0)
{
y++;
a[y][x] = 9;
}
else if(a[y+1][x]==2)
{
y++;
a[y][x] = 9;
break;
}
}
}
}
for(i = 1; i <= 10; i++)
{
for(j = 1; j <= 10; j++)
{
printf("%d ", a[i][j]);
}
printf("\n");
}
return 0;
}*/
/*#include<stdio.h>
int main()
{
int i, j, n, k, a[300][300], b = 0;
scanf("%d %d", &n, &k);
for(i = 2; i < n; i++)
{
b++;
for(j = 2; j < n; j++)
{
if((j+b)%k==0)
a[i][j] = 2;
else
a[i][j] = 1;
}
}
for(i = 1; i <= n; i++)
{
for(j = 1; j <= n; j++)
{
if(a[i][j]==0||a[i][j]==2)
printf("*");
else
printf(" ");
}
printf("\n");
}
}*/
/*#include<stdio.h>
int main()
{
int i, j, n, a[1000], b = 0;
scanf("%d", &n);
for(i = 0; i < n; i++)
scanf("%d", &a[i]);
for(i = 0; i < n; i++)
{
for(j = 0; j < n; j++)
{
printf("%d ", a[(j+b)%n]);
}
b++;
printf("\n");
}
}*/
#include<stdio.h>
int main()
{
int i, j, n, a[100][100] = {}, x = -1, y = 0, b = 0, c = 1, d;
scanf("%d", &n);
for(i = 0; i < n; i++)
{
b++;
x++;
a[y][x] = b;
}
d = n;
while(1)
{
d--;
for(i = 0; i < 2; i++)
{
for(j = 0; j < d ;j++)
{
b++;
if(c%4 == 1)
{
y++;
a[y][x] = b;
}
else if(c%4 == 2)
{
x--;
a[y][x] = b;
}
else if(c%4 == 3)
{
y--;
a[y][x] = b;
}
else if(c%4 == 0)
{
x++;
a[y][x] = b;
}
}
c++;
}
if(d <= 1)
break;
}
for(i = 0; i < n; i++)
{
for(j = 0; j < n; j++)
{
printf("%d ", a[i][j]);
}
printf("\n");
}
}