幻方是一个很神奇的 $N \times N$ 矩阵,它的每行、每列与对角线,加起来的数字和都是相同的。
我们可以通过以下方法构建一个幻方。(阶数为奇数)
- 第一个数字写在第一行的中间
- 下一个数字,都写在上一个数字的右上方:
- 如果该数字在第一行,则下一个数字写在最后一行,列数为该数字的右一列
- 如果该数字在最后一列,则下一个数字写在第一列,行数为该数字的上一行
- 如果该数字在右上角,或者该数字的右上方已有数字,则下一个数字写在该数字的下方
输入格式
一个数字 $N$。
输出格式
按上方法构造的 $(2N−1) \times (2N−1) $ 的幻方。
数据范围
$0 \lt N \le 20$
输入样例
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