#1522. 幻方

幻方

题目描述

某天,FLUC在网上看见了传说中的洛书,觉得很神奇,就开始研究起了奇数阶幻方。但是,由于他是个脑残不会填幻方,便求助于你。
幻方是一种很神奇的 N*N 矩阵:它由数字 1,2,3,,N×N1,2,3,\cdots \cdots ,N \times N 构成,且每行、每列及两条对角线上的数字之和都相同。

当 N 为奇数时,我们可以通过下方法构建一个幻方:

首先将 1 写在第一行的中间。

之后,按如下方式从小到大依次填写每个数 K(K=2,3,,N×NK (K=2,3,\cdots,N \times N) :

若 (K-1)在第一行但不在最后一列,则将 K 填在最后一行, (K-1)所在列的右一列; 若 (K-1) 在最后一列但不在第一行,则将 K 填在第一列, (K-1)所在行的上一行; 若 (K-1)在第一行最后一列,则将 K 填在 (K-1)的正下方; 若 (K-1)既不在第一行,也不在最后一列,如果 (K-1)的右上方还未填数,则将 K 填在 (K-1)的右上方,否则将 K 填在 (K-1)的正下方。 现给定 N ,请按上述方法构造N×N N \times N 的幻方。

输入格式(Magic.in)

一行,为幻方的阶数nn(保证nn是奇数)

输出格式(Magic.out)

n×nn×n的幻方(填法用罗伯法),右对齐6位输出。

样例

输入样例

3

输出样例

     8     1     6
     3     5     7
     4     9     2

数据范围与提示

n1000n\leq1000