[ABC200D] Happy Birthday! 2

题意翻译

给你一个含有 $N$ 个正整数的序列 $A$,请你构造两个序列 $B$ 和 $C$。 设这两个序列长度分别为 $x$ 和 $y$,则应满足: - $1 \leq x, y \leq N$ - $1 \leq B_i, C_i \leq N$ 且两序列均严格递增 - $B$ 与 $C$ 互异 - $\displaystyle \sum_{i=1}^{x} A_{B_i} \equiv \sum_{j=1}^{y} A_{c_i} (\bmod\space200)$ 其中互异的定义:若 $x\not= y$ 或 $x=y$ 但存在一个位置 $i$ 使得 $B_i \not= C_i$,则 $B$ 与 $C$ 互异。

题目描述

[problemUrl]: https://atcoder.jp/contests/abc200/tasks/abc200_d $ N $ 個の正整数からなる数列 $ A\ =\ (A_1,\ A_2,\ \dots,\ A_N) $ が与えられます。 以下の条件を全て満たす $ 2 $ つの数列 $ B\ =\ (B_1,\ B_2,\ \dots,\ B_x),\ C\ =\ (C_1,\ C_2,\ \dots,\ C_y) $ が存在するか判定し、存在する場合はひとつ出力してください。 - $ 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 $ と $ C $ は、異なる数列である。 - $ x\ ≠\ y $ のとき、または、ある整数 $ i\ (1\ <\ = i\ <\ = \min(x,\ y)) $ が存在して $ B_i\ ≠\ C_i $ であるとき、$ B $ と $ C $ は異なるものとする。 - $ A_{B_1}\ +\ A_{B_2}\ +\ \dots\ +\ A_{B_x} $ を $ 200 $ で割った余りと $ A_{C_1}\ +\ A_{C_2}\ +\ \dots\ +\ A_{C_y} $ を $ 200 $ で割った余りが等しい。

输入输出格式

输入格式


入力は以下の形式で標準入力から与えられる。 > $ N $ $ A_1 $ $ A_2 $ $ \dots $ $ A_N $

输出格式


条件を満たす数列の組 $ B,C $ が存在しない場合、$ 1 $ 行に `No` と出力せよ。 存在する場合、以下の形式で $ B,C $ を出力せよ。 > Yes $ x $ $ B_1 $ $ B_2 $ $ \dots $ $ B_x $ $ y $ $ C_1 $ $ C_2 $ $ \dots $ $ C_y $ なお、正誤判定器は英大文字と英小文字を区別せず、どちらも受理する。

输入输出样例

输入样例 #1

5
180 186 189 191 218

输出样例 #1

Yes
1 1
2 3 4

输入样例 #2

2
123 523

输出样例 #2

Yes
1 1
1 2

输入样例 #3

6
2013 1012 2765 2021 508 6971

输出样例 #3

No

说明

### 制約 - 入力はすべて整数 - $ 2\ \le\ N\ \le\ 200 $ - $ 1\ \le\ A_i\ \le\ 10^9 $ ### Sample Explanation 1 $ B=(1),C=(3,4) $ とすると、$ A_1\ =\ 180,\ A_3\ +\ A_4\ =\ 380 $ となり、この $ 2 $ つを $ 200 $ で割った余りは等しくなります。 他にも、以下のような出力も正答として扱われます。 ``` yEs 4 2 3 4 5 3 1 2 5 ``` ### Sample Explanation 3 条件を満たす数列の組が存在しない場合、$ 1 $ 行に `No` と出力してください。