题目描述
给定一个由 N 个正整数组成的数列 A=(A1,A2,…,AN)。请判断是否存在满足以下所有条件的两个数列 B=(B1,B2,…,Bx) 和 C=(C1,C2,…,Cy),如果存在,请输出其中一组。
- 1≤x,y≤N。
- 1≤B1<B2<⋯<Bx≤N。
- 1≤C1<C2<⋯<Cy≤N。
- B 和 C 是不同的数列。
- 当 x=y 时,或者存在某个整数 i (1≤i≤min(x,y)) 使得 Bi=Ci 时,B 和 C 被认为是不同的。
- AB1+AB2+⋯+ABx 除以 200 的余数与 AC1+AC2+⋯+ACy 除以 200 的余数相等。
输入格式
输入以以下格式从标准输入读入。
N
A1 A2 … AN
输出格式
如果不存在满足条件的数列组 B,C,请输出一行 No。
如果存在,请按以下格式输出 B,C:
Yes
x B1 B2 … Bx
y C1 C2 … Cy
输入输出样例 #1
输入 #1
5
180 186 189 191 218
输出 #1
Yes
1 1
2 3 4
输入输出样例 #2
输入 #2
2
123 523
输出 #2
Yes
1 1
1 2
输入输出样例 #3
输入 #3
6
2013 1012 2765 2021 508 6971
输出 #3
No
说明/提示
限制
- 输入均为整数。
- 2≤N≤200
- 1≤Ai≤109
样例解释 1
例如,取 B=(1),C=(3,4),则 A1=180,A3+A4=380,这两个数对 200 取余的结果相同。
样例解释 3
如果不存在满足条件的数列组,请输出一行 No。