AT_kupc2024_n Nonsymmetric Matrix
Description
各成分が整数である $ N $ 行 $ N $ 列の行列 $ A = (A_{i, j}) $ であって以下の条件を満たすものが存在するか判定し、存在する場合は $ \max |A_{i, j}| $ が最小になるものを $ 1 $ つ出力してください。
- 各行の数の和が $ 0 $ 、すなわち任意の $ 1 \leq i \leq N $ に対して $ \sum_{j = 1}^{N} A_{i, j} = 0 $
- 各列の数の和が $ 0 $ 、すなわち任意の $ 1 \leq j \leq N $ に対して $ \sum_{i = 1}^{N} A_{i, j} = 0 $
- $ i \neq j $ のとき $ A_{i, j} \neq A_{j, i} $
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $
Output Format
条件を満たす行列が存在しない場合、`No` を出力せよ。
条件を満たす行列が存在する場合、 $ N + 1 $ 行出力せよ。 $ 1 $ 行目には `Yes` を出力し、 $ 2 $ 行目以降には条件を満たす行列のうち $ \max |A_{i, j}| $ が最小になるものを以下の形式で $ 1 $ つ出力せよ。
> $ A_{1, 1} $ $ A_{1, 2} $ $ \ldots $ $ A_{1, N} $ $ A_{2, 1} $ $ A_{2, 2} $ $ \ldots $ $ A_{2, N} $ $ \vdots $ $ A_{N, 1} $ $ A_{N, 2} $ $ \ldots $ $ A_{N, N} $
Explanation/Hint
### Sample Explanation 1
$ A = ((1, -1, 0), (0, 1, -1), (-1, 0, 1)) $ は条件を満たす行列の $ 1 $ つです。
### Constraints
- $ N $ は $ 1 $ 以上 $ 1000 $ 以下の整数