#347. 襄阳幻方

襄阳幻方

题目描述

幻方是一种神奇的矩阵。它的每行、每列以及对角线的数字之和都相等,而且数字是从11连续排列到n×nn \times n0<n<200<n<20)。现在要求按照以下规则构造一个n×nn \times n的幻方(仅考虑nn为奇数的情况):

  1. 11写在第一行的中间
  2. 对于每个数kkk=2,3,,n×nk=2,3,\ldots,n \times n):
    • k1k-1在第一行但不在最后一列,则将kk填在最后一行,k1k-1所在列的右一列
    • k1k-1在最后一列但不在第一行,则将kk填在第一列,k1k-1所在行的上一行
    • k1k-1在第一行最后一列,则将kk填在k1k-1的正下方
    • k1k-1既不在第一行,也不在最后一列,如果k1k-1的右上方还未填数,则将kk填在k1k-1的右上方,否则将kk填在k1k-1的正下方

输入格式

一个正整数nn0n250 \leq n \leq 25),表示幻方的大小。

输出格式

nn行,每行nn个整数,即构造出的n×nn \times n的幻方,相邻两个整数之间用一个空格隔开。

样例

输入

3

输出

8 1 6
3 5 7
4 9 2