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.Scanner;


public class Test {
    public static void main(String[] args)
    {
        Scanner reader = new Scanner(System.in);
        int n = reader.nextInt();
        int[][] board = new int[n][n]; //automatically initialized with '0'

        int row = 0; 
        int col = n/2; 
        int num = 1;  
 
        while ( num <= n*n )
        {
            board[row][col] = num;
            num++;

   
            int tempCol = (col + 1)%n;
   
            int tempRow = (row - 1) >= 0 ? row-1 : n-1;
   
 
            if( board[tempRow][tempCol] != 0 )
            {
                row = (row+1)%n;
            }
            else
            {
                row = tempRow;
                col = tempCol;
            }
        }
  
        for( int i = 0 ; i < n ; i++)
        {
            for( int j = 0 ; j < n ; j++)
            {
                System.out.print(board[i][j] + " ");
            }
            System.out.println();
        }
    }
}