import java.util.Scanner;
public class N059 {
public static int[][] generateMatrix(int n) {
int[][] ans = new int[n][n];
// start
int xStart = 0, yStart = 0;
// offset
int offset = 1;
// loop
int loop = n / 2;
// count
int count = 1;
while(loop > 0){
int i = xStart, j = yStart;
// 4 for loop
for(;j < yStart + n - offset; ++j){
ans[i][j] = count++;
}
for(;i < xStart + n - offset; ++i){
ans[i][j] = count++;
}
for(;j > yStart; --j){
ans[i][j] = count++;
}
for(;i > xStart; --i){
ans[i][j] = count++;
}
xStart += 1;
yStart += 1;
offset += 2;
// 第几圈减少
loop--;
}
if(n % 2 == 1){
ans[n / 2][n / 2] = count;
}
return ans;
}
public static void main(String[] args){
//Scanner scanner = new Scanner(System.in);
Scanner scanner = new Scanner("7");
int n = scanner.nextInt();
int[][] result = generateMatrix(n);
for(int i = 0; i < n; ++i){
for(int j = 0; j < n; ++j){
System.out.printf("%d", result[i][j]);
if(j < n - 1){
System.out.print(" ");
}
}
System.out.println();
}
scanner.close();
}
}