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 problem710C {
	public static void main(String[] args) {
		Scanner console = new Scanner(System.in);
		int size = console.nextInt();
		if (size == 1) {
			System.out.println("1");
			return;
		}
		PriorityQueue<Integer> odd = new PriorityQueue<>();
		PriorityQueue<Integer> even = new PriorityQueue<>();

		for (int i = 1; i<=size*size; i++) {
			if (i%2 == 0)
				even.add(i);
			else
				odd.add(i);
		}

		for (int i = 0; i<size/2; i++) {
			for (int j = 0; j<size/2-i; j++) {
				System.out.print(even.remove()+" ");
			}
			for (int j = 0; j<1+2*i; j++) {
				System.out.print(odd.remove()+" ");
			}
			for (int j = 0; j<size/2-i; j++) {
				System.out.print(even.remove()+" ");
			}

			System.out.println();
		}

		for (int i = 0; i<size; i++)
			System.out.print(odd.remove()+" ");

		System.out.println();

		for (int i = 0; i<size/2; i++) {
			for (int j = 0; j<i+1; j++) {
				System.out.print(even.remove()+" ");
			}
			for (int j = 0; j<size-2-2*i; j++) {
				System.out.print(odd.remove()+" ");
			}
			for (int j = 0; j<i+1; j++) {
				System.out.print(even.remove()+" ");
			}

			System.out.println();
		}
	}
}