#M11. Kaleidoscope

Kaleidoscope

Description

在各种万花筒纪念品中,有一个万花筒你一见钟情:它并没有华丽的图案,而是有一个非常优美的性质。于是你立刻买下了它。

这个万花筒上画着一个 n×nn\times n 的正整数数阵,这 n2n^2 个正整数两两不同,且它有一个且拥有一个你一眼就发现了而且认为很优美的性质:

对于任意相邻(四联通,即有公共边算相邻,仅公共点不算相邻)的两个元素 x,yx,ymax{x,y}modmin{x,y}\max\{x,y\}\bmod\min\{x,y\} 非零且相同。

不幸的是,你不小心弄坏了它。虽然你的观察力很强,但是你的记忆力不太好——你不记得万花筒上写着什么数字了。所以你决定仿照这个万花筒自己做一个。由于你的技艺不精,为了防止数字过大导致写不下,每个数字的值需要严格小于 101510^{15}.

当然,原本的万花筒由于空间安排的巧妙性,并不需要严格小于 101510^{15} 的限制。所以有可能在加上这个数值限制后,你无法制作出一个具有同样性质的万花筒,这种情况下输出 1-1.

Format

Input

第一行一个正整数 TT 表示数据组数。

对于每组数据,仅一行一个正整数 n(2n500)n\,(2\leq n\leq 500) 表示万花筒大小为 n×nn\times n

对于所有数据中有解的数据 n0n_01n021061\leq \sum n_0^2\leq 10^6,对于所有数据中的 nn,满足 1n1061\leq \sum n\leq 10^6.

Output

对于每组数据,若有解,输出一个 n×nn\times n 的数阵表示你的构造结果。若无解仅输出一个数 1-1.

Samples

1
3
10 7 4
63 66 135
6 9 12

Limitation

1s, 256MiB.

所有数据属于一个 subtask.