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 $ 以下の整数