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.util.*;

public class C {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int n = scan.nextInt();
		int[][] a = new int[n][n];
		for (int i = 0; i < n; i++) {
			for (int j = 0; j < n; j++)
				a[i][j] = 0;
		}
		int x = 0, y = 0, tot = 0, i, j;
		i = n / 2;
		j = 0;
		a[n / 2][0] = ++tot;
		i--;
		j--;
		while (tot <= n * n) {
			if (i < 0)
				i = n - 1;
			if (j < 0)
				j = n - 1;
			if (a[i][j] != 0) {
				i = x;
				if (y == n - 1)
					j = 0;
				else
					j = y + 1;
			}
			if(tot==n*n) break;
			a[i][j] = ++tot;
			x = i;
			y = j;
			i--;
			j--;
		}
		for (i = 0; i < n; i++) {
			for (j = 0; j < n; j++) {
				System.out.print(a[i][j] + " ");
			}
			System.out.println();

		}
	}
}