/*
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("Hello world!\n");
return 0;
}
*/
/*
#include <stdio.h>
int main()
{
int arr[101][101]={0};
int n,m,i,j,num=1;
int k=1;
scanf("%d %d", &n, &m);
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= m; j++)
{
arr[i][j] = k;
k++;
}
}
for (int i = n; i >= 1; i--)
{
if (i % 2 != 0)
{
for (int j = m; j >= 1; j--)
{
printf("%d ", arr[i][j]);
}
}
else
{
for (int j = 1; j <= m; j++)
{
printf("%d ", arr[i][j]);
}
}
printf("\n");
}
}
*/
/*
#include <stdio.h>
int main()
{
int arr[101][101]= {0};
int n,i,j;
int k=1;
scanf("%d",&n);
for(i=1; i<=n; i++)
{
scanf("%d", &arr[i][1]);
}
for(i = 2; i <= n; i++)
{
for(j = 2; j <= i; j++)
{
arr[i][j] = arr[i][j-1] - arr[i-1][j-1];
}
}
for(i = 1; i <= n; i++)
{
for(j = 1; j <= i; j++)
{
printf("%d ", arr[i][j]);
}
printf("\n");
}
}
*/
/*
#include <stdio.h>
int main()
{
int arr[12][12];
int n,i,j;
for(i = 1; i <= 11; i++)
for(j = 1; j <= 10; j++)
{
scanf("%d",&arr[i][j]);
}
for(j = 1; j <= 10; j++)
{
if(arr[11][j] == 0)
continue;
n = 0;
for(i = 10; i >= 1; i--)
{
if(arr[i][j] != 0)
{
n = arr[i][j];
break;
}
}
if(n == 0)
printf("%d safe\n", j);
else if(n > 0)
printf("%d crash\n", j);
else
printf("%d fall\n", j);
}
}
*/
#include <stdio.h>
int main()
{
int arr[50][50]= {0};
int n,i,j,k=1,x,y;
scanf("%d", &n);
x=0;
y=n/2;
for(k=1; k<=n*n; k++)
{
arr[x][y]=k;
if(k%n==0)
{
x++;
continue;
}
if(x==0)
{
x=n-1;
}
else
{
x--;
}
if(y==n-1)
{
y=0;
}
else
{
y++;
}
}
for (i = 0; i < n; i++)
{
for (j = 0; j < n; j++)
{
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}