#arc159c. [arc159_c]Permutation Addition

[arc159_c]Permutation Addition

問題文

正整数列 A=(a1,ldots,aN)A=(a_1,\\ldots,a_N) が与えられます。

次の操作を 00 回以上 10410^4 回以下繰り返すことで AA の値をすべて等しくできるかを判定し、可能な場合は操作列の一例を示してください。

  • (1,ldots,N)(1,\\ldots,N) の順列 (p1,ldots,pN)(p_1,\\ldots,p_N) を決め、AA(a1+p1,ldots,aN+pN)(a_1+p_1,\\ldots,a_N+p_N) に置き換える。

制約

  • 2leqNleq502 \\leq N \\leq 50
  • 1leqaileq501 \\leq a_i \\leq 50
  • 入力はすべて整数

入力

入力は以下の形式で標準入力から与えられる。

NN a1a_1 ldots\\ldots aNa_N

出力

AA の値をすべて等しくできない場合は No と出力せよ。
等しくできる場合、操作回数を MM 回、ii 回目の操作における順列を (pi,1,ldots,pi,N)(p_{i,1},\\ldots,p_{i,N}) として以下の形式で出力せよ。

Yes MM p1,1p_{1,1} ldots\\ldots p1,Np_{1,N} vdots\\vdots pM,1p_{M,1} ldots\\ldots pM,Np_{M,N}

答えが複数存在する場合はどれを出力しても正解とみなされる。


入力例 1

2
15 9

出力例 1

Yes
8
1 2
1 2
1 2
1 2
2 1
1 2
1 2
1 2

この出力例の通りに 88 回の操作を行うことで AA(24,24)(24,24) となり、値がすべて等しくなります。


入力例 2

5
1 2 3 10 10

出力例 2

No

入力例 3

4
1 1 1 1

出力例 3

Yes
0

初めから AA の値がすべて等しいです。