/*
#include <stdio.h>
int main()
{
int i,j,arr[12][11]={};
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]){ // 마지막줄의 숫자가 1일때
for(i=10;i>=1;i--){
if(arr[i][j]>0){
printf("%d crash\n", j);
break;
}
else if(arr[i][j]<0){
printf("%d fall\n", j);
break;
}
}
if(i==0){
printf("%d safe\n", j);
}
}
}
return 0;
}
*/
#include <stdio.h>
int main()
{
int n, j, i, arr[55][55]={};
int x, y, k = 1;
scanf("%d", &n);
x = 1;
y = n / 2 + 1;
arr[x][y] = k++;
for(i=0;i<n*n-1;i++){
x--;
y++;
if(x<1){
x=n;
}
if(y>n){
y=1;
}
arr[x][y] = k++;
if((k-1)%n==0){
x++;
arr[x][y] = k++;
i++;
}
}
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
printf("%d ", arr[i][j]);
}
printf("\n");
}
}