Problem: Find an n × n matrix with different numbers from 1 to n2, so the sum in each row, column and both main diagonals are odd.

Input

The only line contains odd integer n (1 ≤ n ≤ 49).

Output

Print n lines with n integers. All the integers should be different and from 1 to n2. The sum in each row, column and both main diagonals should be odd.

Examples

Input

1


Output

1


Input

3


Output

2 1 4
3 5 7
6 9 8

Solution (in JAVA):

Solution:

import java.io.InputStream;
import java.io.PrintStream;
import java.util.Scanner;

/**
 */
public class Main710C {
	public static void main(String[] args) {
		run(System.in, System.out);
	}

	public static void run(InputStream in, PrintStream out) {

		try (Scanner sc = new Scanner(in)) {
			int n = sc.nextInt();
			if (n == 1) {
				out.print(1);
				return;
			}

			int[][] t = new int[n][n];
			int odd = 1;
			int even = 2;

			for (int i = 0; i < n / 2; i++) {
				int k = n / 2 - i;
				for (int j = 0; j < n; j++) {
					if (j < k || j > n - k - 1) {
						t[i][j] = even;
						even += 2;
						t[n - i - 1][j] = even;
						even += 2;
					} else {
						t[i][j] = odd;
						odd += 2;
						t[n - i - 1][j] = odd;
						odd += 2;
					}
				}
			}
			
			for(int i = 0; i<n; i++) {
				t[n/2][i] = odd;
				odd+=2;
			}

			for (int i = 0; i < n; i++) {
				for (int j = 0; j < n; j++) {
					out.print(t[i][j] + " ");
				}
				out.println();
			}
		}
	}

}