#1107. 幻方方阵(square2.cpp)

幻方方阵(square2.cpp)

Background

Special for beginners, ^_^

Description

幻方是一个很神奇的M*M矩阵(M为奇数),它的每行、每列与对角线,加起来的数字和都是相同的。

我们可以通过以下方法构建一个幻方。

1.第一个数字写在第一行的中间

2.下一个数字,都写在上一个数字的右上方。

3、特殊的:

a.如果该数字在右上角的位置,或者该数字的右上方已有数字,则下一个数字写在该数字的下方。

b.否则如果该数字在第一行,则下一个数字写在最后一行,列数为该数字的右一列

c.否则如果该数字在最后一列,则下一个数字写在第一列,行数为该数字的上一行

Format

Input

一个数字N。

Output

按上方法构造的(2N-1)* (2N-1)的幻方。每一行的数字用空格隔开。

Samples

3
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9

Limitation

对于100%的数据:N<=20。