問題文
N 個の正整数からなる数列 A=(A1,A2,dots,AN) が与えられます。 以下の条件を全て満たす 2 つの数列 $B = (B_1, B_2, \\dots, B_x),\\ C = (C_1, C_2, \\dots, C_y)$ が存在するか判定し、存在する場合はひとつ出力してください。
- 1≤ x,y≤N
- 1leB1<B2<dots<BxleN
- 1leC1<C2<dots<CyleN
- B と C は、異なる数列である。
- x=y のとき、または、ある整数 i(1≤ i≤ min(x,y)) が存在して Bi=Ci であるとき、B と C は異なるものとする。
- AB1+AB2+dots+ABx を 200 で割った余りと AC1+AC2+dots+ACy を 200 で割った余りが等しい。
制約
- 入力はすべて整数
- 2leNle200
- 1leAile109
入力
入力は以下の形式で標準入力から与えられる。
N
A1 A2 dots AN
出力
条件を満たす数列の組 B,C が存在しない場合、1 行に No
と出力せよ。 存在する場合、以下の形式で B,C を出力せよ。
Yes
x B1 B2 dots Bx
y C1 C2 dots Cy
なお、正誤判定器は英大文字と英小文字を区別せず、どちらも受理する。
入力例 1
5
180 186 189 191 218
出力例 1
Yes
1 1
2 3 4
B=(1),C=(3,4) とすると、A1=180,A3+A4=380 となり、この 2 つを 200 で割った余りは等しくなります。
他にも、以下のような出力も正答として扱われます。
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
条件を満たす数列の組が存在しない場合、1 行に No
と出力してください。