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 PYTHON3):

Solution:
n = int(input())

s = [i for i in range(1, n ** 2 + 1)] 


Ans = [[0] * (n) for i in range(n)]

if n == 1:
    print(1)
else:
    Centre = n // 2
    Ans[Centre][Centre] = 1
    line = 1
    
    while line < n:
        s = [i for i in range(line ** 2 + 1, (line + 2) ** 2 + 1)]
        line += 2
        
        if Ans[Centre - line // 2 + 1][Centre - line // 2 + 1] % 2 == 0:
            s = s[1:] + s[:1]
        
        ind = 0
        
        for j in range(Centre - line // 2, Centre + 1 + line // 2):
                Ans[Centre - line // 2][j] = s[ind]
                ind += 1
        for i in range(Centre - line // 2 + 1, Centre + 1 + line // 2):
                Ans[i][Centre + line // 2] = s[ind]
                ind += 1        
        for j in range(Centre + line // 2 - 1, Centre - 1 - line // 2, - 1):
                Ans[Centre + line // 2][j] = s[ind]
                ind += 1        
        for i in range(Centre + line // 2 - 1, Centre  - line // 2, - 1):
                Ans[i][Centre - line // 2] = s[ind]
                ind += 1     
                
    for i in range(n):
        print(' '.join(map(str,Ans[i])))