京セラプログラミングコンテスト2021(AtCoder Beginner Contest 200)
D
Happy Birthday! 2
AtCoder
⌀ 1217
原题
← CE →
翻译中…

Problem Statement

翻译中…

You are given a sequence of $N$ positive integers: $A = (A_1, A_2, \dots, A_N)$. Determine whether there is a pair of sequences $B = (B_1, B_2, \dots, B_x), C = (C_1, C_2, \dots, C_y)$ satisfying all of the conditions, and print one such pair if it exists.

翻译中…
  • $1 ≤ x, y ≤ N$.
  • $1 \le B_1 < B_2 < \dots < B_{x} \le N$.
  • $1 \le C_1 < C_2 < \dots < C_{y} \le N$.
  • $B$ and $C$ are different sequences.
  • Here, we consider $B$ and $C$ different when $x ≠ y$ or there is an integer $i\ (1 ≤ i ≤ \min(x, y))$ such that $B_i ≠ C_i$.
  • $A_{B_1} + A_{B_2} + \dots + A_{B_x}$ and $A_{C_1} + A_{C_2} + \dots + A_{C_y}$ are equal modulo $200$.
翻译中…

Constraints

翻译中…
  • All values in input are integers.
  • $2 \le N \le 200$
  • $1 \le A_i \le 10^9$
翻译中…

Input

翻译中…

Input is given from Standard Input in the following format:

翻译中…

N
A_1 A_2 \dots A_N

翻译中…

Output

翻译中…

If there is no pair of sequences $B, C$ satisfying the conditions, print a single line containing No. Otherwise, print your choice of $B$ and $C$ in the following format:

翻译中…

Yes
x B_1 B_2 \dots B_x
y C_1 C_2 \dots C_y

翻译中…

The checker is case-insensitive: you can use either uppercase or lowercase letters.

翻译中…

样例

Input #1
5
180 186 189 191 218
Output #1
Yes
1 1
2 3 4
For $B=(1),C=(3,4)$, we have $A_1 = 180,\ A_3 + A_4 = 380$, which are equal modulo $200$. There are other solutions that will also be accepted, such as:
Input #2
2
123 523
Output #2
Yes
1 1
1 2
Input #3
6
2013 1012 2765 2021 508 6971
Output #3
No
If there is no pair of sequences satisfying the conditions, print a single line containing `No`.
题目信息
题号
abc200_d
时间限制
2 s
内存限制
1024 MB

题面与样例版权归 AtCoder 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。