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

public class C {
    
    static BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
    static BufferedWriter output = new BufferedWriter(new OutputStreamWriter(System.out));
    
    public static void main(String[] args) throws IOException {
        
        int n = Integer.parseInt(input.readLine());
        int[][] m = new int[n][n];
        int e, p;
        e = p = 0;
        for (int i = 0; i < n; i++) {
            int ones = (n/2 - Math.abs(i - n/2));
            for (int j = 0; j < n; j++) {               
                if (Math.abs(j - n/2) <= ones) {
                    m[i][j] = 1 + 2*e++;
                    //m[i][j] = 1;
                }
                else {
                    m[i][j] = 2 + 2*p++;
                    //m[i][j] = 0;
                }
                output.write(m[i][j] + " ");
            }
            output.write("\n");
        }      
        output.close();
        input.close();
    }
}