AT_tupc2023_k (mod HW+1)
Description
整数 $ H, W, R $ が与えられます。
$ H $ 行 $ W $ 列のマス目があり、あなたはすべてのマスに整数を $ 1 $ つずつ書き込もうとしています。
上から $ i $ 行目、左から $ j $ 列目に書き込む整数を $ P_{i, j} $ とおくとき、 以下の条件を満たす書き込み方が存在するか判定してください。 もし存在する場合には、そのような書き込み方の一例を求めてください。
- $ (P_{1,1}, P_{1,2}, \ldots, P_{1, W}, P_{2, 1}, \ldots, P_{H, W}) $ は $ (1, 2, \ldots, H \times W) $ の並び替えである。
- どの $ 2 \times 2 $ マスを選んでも、その中にある $ 4 $ つの整数の積を $ HW + 1 $ で割った余りが $ R $ に等しい。
- より正確には、任意の $ 1 \leq i \leq H-1, 1 \leq j \leq W-1 $ に対し、 $ P_{i, j} \times P_{i+1, j} \times P_{i, j+1} \times P_{i+1, j+1} \equiv R \pmod{HW + 1} $ が成立する。
各入力ファイルについて、テストケースを $ T $ 個解いてください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ T $ $ \mathrm{case}_1 $ $ \mathrm{case}_2 $ $ \vdots $ $ \mathrm{case}_T $
各ケースは、次の形式で与えられる。
> $ H $ $ W $ $ R $
Output Format
条件を満たす書き込み方が存在する場合は `Yes` を、存在しない場合は `No` を一行目に出力せよ。
さらに、条件を満たす書き込み方が存在する場合は、そのような書き込み方を、続く $ H $ 行に次の形式で出力せよ。
> $ P_{1, 1} $ $ P_{1, 2} $ $ \cdots $ $ P_{1, W} $ $ P_{2, 1} $ $ P_{2, 2} $ $ \cdots $ $ P_{2, W} $ $ \vdots $ $ P_{H, 1} $ $ P_{H, 2} $ $ \cdots $ $ P_{H, W} $
条件を満たす書き込み方が複数存在する場合、そのどれを出力しても正解となる。
Explanation/Hint
### 部分点
この問題の満点は $ 101 $ 点である。
- 追加の制約 $ T = 1, H = W = 4, R = 8 $ を満たすデータセットに正解した場合は $ 10 $ 点が与えられる。
- 追加の制約 $ H = W $ を満たすデータセットに正解した場合は、追加で $ 90 $ 点(計 $ 100 $ 点)が与えられる。
### Sample Explanation 1
この入出力例は追加の制約 $ H = W $ を満たします。
### Constraints
- $ 1 \leq T \leq 100 $
- $ 2 \leq H \leq 50 $
- $ 2 \leq W \leq 50 $
- $ 0 \leq R \lt HW + 1 $
- 入力はすべて整数