AT_arc187_a [ARC187A] Add and Swap

Description

[problemUrl]: https://atcoder.jp/contests/arc187/tasks/arc187_a 整数 $ N,K $ 及び長さ $ N $ の数列 $ A=(A_1,\ldots,A_N) $ が与えられます. $ A $ に対し以下の操作を $ 500000 $ 回以下行うことで $ A $ を広義単調増加にできるか判定し,可能な場合は実際に操作手順を一つ示してください. - $ 1 $ 以上 $ N-1 $ 以下の整数 $ i $ を選ぶ.$ A_i $ を $ A_{i+1}+K $ で,$ A_{i+1} $ を $ A_i $ で同時に置き換える.

Input Format

入力は以下の形式で標準入力から与えられる. > $ N $ $ K $ > > $ A_1 $ $ \ldots $ $ A_N $

Output Format

$ 500000 $ 回以下の操作で $ A $ を広義単調増加にできない場合 `No` を出力せよ.広義単調増加にできる場合,操作回数を $ M\ (0\ \leq\ M\ \leq\ 500000) $ とし,$ k $ 回目 $ (1\leq\ k\ \leq\ M) $ の操作で選んだ $ i $ を $ i_k $ として以下の形式で出力せよ. > Yes > > $ M $ > > $ i_1 $ $ \ldots $ $ i_M $ 条件を満たす解が複数存在する場合,どれを出力しても正解とみなされる.

Explanation/Hint

### 制約 - 入力される数値は全て整数 - $ 2\ \leq\ N\ \leq\ 50 $ - $ 1\leq\ K\ \leq\ 50 $ - $ 1\leq\ A_i\leq\ 50 $ ### Sample Explanation 1 $ i=2 $ として操作を行います.$ A_2 $ を $ A_3+2=6 $ で,$ A_3 $ を $ A_2=6 $ で同時に置き換えるので,操作後の $ A $ は $ A=(3,6,6) $ となります. これにより $ A $ は広義単調増加になっているので,この出力は条件を満たします. ### Sample Explanation 2 操作回数を最小化する必要はありません.