AT_arc208_d [ARC208D] Symmetric Matrix

Description

各要素が $ 1 $ 以上 $ N $ 以下であるような長さ $ N $ の整数列 $ Y=(Y_1,Y_2,\ldots,Y_N) $ が与えられます。 以下の条件を全て満たす $ N $ 行 $ N $ 列の整数行列 $ A=(A_{i,j}) $ $ (1\le i , j \le N) $ が存在するか判定し、存在する場合は一つ求めてください。 - $ 1\le A_{i,j} \le N $ $ (1\le i \le N, 1\le j\le N) $ - $ A_{i,j}=A_{j,i} $ $ (1\le i\le N, 1\le j\le N) $ - $ A_{i,j_1}\neq A_{i,j_2} $ $ (1\le i\le N, 1\le j_1 < j_2 \le N) $ - $ A_{i,Y_i}=1 $ $ (1\le i\le N) $ $ T $ 個のテストケースが与えられるので、それぞれについて答えを求めてください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ T $ $ \text{case}_1 $ $ \text{case}_2 $ $ \vdots $ $ \text{case}_T $ 各テストケースは以下の形式で与えられる。 > $ N $ $ Y_1 $ $ Y_2 $ $ \ldots $ $ Y_N $

Output Format

各テストケースに対する答えを順に改行区切りで出力せよ。 各テストケースについて、条件を全て満たす $ A $ が存在しない場合は `No` を出力せよ。 そうでない場合、条件を全て満たす $ A $ を以下の形式で出力せよ。 > Yes $ 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} $ 条件を全て満たす $ A $ が複数ある場合、どれを出力しても正答となる。

Explanation/Hint

### Sample Explanation 1 $ 1 $ つ目のテストケースについて考えます。 出力例の $ A $ は条件を全て満たすことが確認できます。この他にも、例えば以下のような $ A $ を出力しても正答となります。 ``` 1 3 2 3 2 1 2 1 3 ``` ### Constraints - $ 1\le T\le 5000 $ - $ 1\le N \le 500 $ - 全てのテストケースにおける $ N^2 $ の総和は $ 500^2 $ 以下 - $ 1\le Y_i\le N $ - 入力される値は全て整数