#abc200d. [abc200_d]Happy Birthday! 2

[abc200_d]Happy Birthday! 2

問題文

NN 個の正整数からなる数列 A=(A1,A2,dots,AN)A = (A_1, A_2, \\dots, A_N) が与えられます。 以下の条件を全て満たす 22 つの数列 $B = (B_1, B_2, \\dots, B_x),\\ C = (C_1, C_2, \\dots, C_y)$ が存在するか判定し、存在する場合はひとつ出力してください。

  • 1 x,yN1 ≤ x, y ≤ N
  • 1leB1<B2<dots<BxleN1 \\le B_1 < B_2 < \\dots < B_{x} \\le N
  • 1leC1<C2<dots<CyleN1 \\le C_1 < C_2 < \\dots < C_{y} \\le N
  • BBCC は、異なる数列である。
    • xyx ≠ y のとき、または、ある整数 i(1 i min(x,y))i\\ (1 ≤ i ≤ \\min(x, y)) が存在して BiCiB_i ≠ C_i であるとき、BBCC は異なるものとする。
  • AB1+AB2+dots+ABxA_{B_1} + A_{B_2} + \\dots + A_{B_x}200200 で割った余りと AC1+AC2+dots+ACyA_{C_1} + A_{C_2} + \\dots + A_{C_y}200200 で割った余りが等しい。

制約

  • 入力はすべて整数
  • 2leNle2002 \\le N \\le 200
  • 1leAile1091 \\le A_i \\le 10^9

入力

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

NN A1A_1 A2A_2 dots\\dots ANA_N

出力

条件を満たす数列の組 B,CB,C が存在しない場合、11 行に No と出力せよ。 存在する場合、以下の形式で B,CB,C を出力せよ。

Yes xx B1B_1 B2B_2 dots\\dots BxB_x yy C1C_1 C2C_2 dots\\dots CyC_y

なお、正誤判定器は英大文字と英小文字を区別せず、どちらも受理する。


入力例 1

5
180 186 189 191 218

出力例 1

Yes
1 1
2 3 4

B=(1),C=(3,4)B=(1),C=(3,4) とすると、A1=180,A3+A4=380A_1 = 180,\\ A_3 + A_4 = 380 となり、この 22 つを 200200 で割った余りは等しくなります。
他にも、以下のような出力も正答として扱われます。

yEs
4 2 3 4 5
3 1 2 5

入力例 2

2
123 523

出力例 2

Yes
1 1
1 2

入力例 3

6
2013 1012 2765 2021 508 6971

出力例 3

No

条件を満たす数列の組が存在しない場合、11 行に No と出力してください。