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 $ - 入力はすべて整数