#abc200d. [abc200_d]Happy Birthday! 2

[abc200_d]Happy Birthday! 2

问题描述

给定一个由 NN 个正整数组成的序列 A=(A1,A2,,AN)A = (A_1, A_2, \dots, A_N)。判断是否存在满足以下条件的序列对 $B = (B_1, B_2, \dots, B_x), C = (C_1, C_2, \dots, C_y)$,如果存在,则输出一对满足条件的序列。

  • 1x,yN1 \le x, y \le N
  • 1B1<B2<<BxN1 \le B_1 < B_2 < \dots < B_{x} \le N
  • 1C1<C2<<CyN1 \le C_1 < C_2 < \dots < C_{y} \le N
  • 序列 BBCC 不同。
    • 当且仅当 xyx ≠ y 或存在 1imin(x,y)1 ≤ i ≤ \min(x, y) 使得 BiCiB_i ≠ C_i,则认为 BBCC 不同。
  • 满足 AB1+AB2++ABxA_{B_1} + A_{B_2} + \dots + A_{B_x}AC1+AC2++ACyA_{C_1} + A_{C_2} + \dots + A_{C_y} 在模 200200 下相等。

约束条件

  • 输入中的所有值都为整数。
  • 2N2002 \le N \le 200
  • 1Ai1091 \le A_i \le 10^9

输入

输入以以下格式从标准输入中给出:

NN A1A_1 A2A_2 \dots ANA_N

输出

如果不存在满足条件的序列对 B,CB, C,则打印一行 No
否则,以以下格式打印你选择的 BBCC

Yes xx B1B_1 B2B_2 \dots BxB_x yy C1C_1 C2C_2 \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,在模 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

如果不存在满足条件的序列对,则打印一行 No