N - All Crosses Editorial /

Time Limit: 2 sec / Memory Limit: 1024 MB

配点 : 800

問題文

NM 列のマス目に整数を書き込む方法のうち、以下が成り立つものが存在するか判定し、存在する場合は 1 個構築してください。

ここで、A_{i,j} を上から i 番目、左から j 番目のマスに書かれた整数とします。

  • A_{i,j}0 以上 X-1 以下である。
  • A_{i,j} \equiv A_{i-1,j} + A_{i+1,j} + A_{i,j-1} + A_{i,j+1}\ (\bmod X)
  • \displaystyle \sum_{i=1}^{N} \sum_{j=1}^{M} A_{i,j} > 0

ただし、A_{0,i},A_{N+1,i},A_{i,0},A_{i,M+1} は全て 0 とします。

T 個のテストケースが与えられるので、それぞれについて答えを求めてください。

制約

  • 1 \le T \le 100
  • 1 \le N,M,X \le 100
  • 1 個の入力ファイルに対する N の総和は 100 以下である。
  • 1 個の入力ファイルに対する M の総和は 100 以下である。
  • 入力は全て整数である。

入力

入力は以下の形式で標準入力から与えられる。

T
\mathrm{Case}_1
\mathrm{Case}_2
\vdots
\mathrm{Case}_T

それぞれのテストケースは以下の形式で与えられる。

N M X

出力

i 個目のテストケースに対する解を \mathrm{ans}_i とした時、以下のように出力してください。

\mathrm{ans}_1
\mathrm{ans}_2
\vdots
\mathrm{ans}_T

それぞれのテストケースに対しては、以下のように出力してください。

条件を満たす整数の書き込み方が存在しないのであれば、-1 を、そうでないならば以下の形式で出力してください。

A_{1,1}\ A_{1,2}\ \dots\ A_{1,M}
A_{2,1}\ A_{2,2}\ \dots\ A_{2,M}
\vdots
A_{N,1}\ A_{N,2}\ \dots\ A_{N,M}

入力例 1

3
2 2 3
2 2 2
52 53 2

出力例 1

2 1 
1 2 
-1
-1

1 個目のテストケースについて、これは条件を満たす書き込み方です。例えば、A_{1,1} \equiv A_{0,1} + A_{2,1} + A_{1,0} + A_{1,2} \ (\bmod X) となっています。

2,3 個目のテストケースについて、条件を満たす書き込み方は存在しません。