AT_kupc2024_m Mahjong 2
Description
$ 1 $ から $ N $ までの整数が書かれたカードが合計で $ 3M-1 $ 枚あり、各 $ 1 \leq i \leq N $ について整数 $ i $ の書かれたカードは $ A_i $ 枚存在します。
あなたは $ 1 $ から $ N $ までの整数 $ K $ を $ 1 $ つ選び、整数 $ K $ の書かれたカードを追加して以下の条件を満たそうとしています。
- 条件 : 同じ数字の書かれた $ 3 $ 枚のカード、または連続した数字の書かれた $ 3 $ 枚のカードを選び取り除くことを $ M $ 回繰り返して、持っているカードを空にすることが出来る。
条件を満たすことのできる $ K $ を全て列挙してください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ M $ $ A_1 $ $ A_2 $ $ \ldots $ $ A_N $
Output Format
最初の行には条件を満たす $ K $ の個数 $ L $ を出力せよ。その後、条件を満たす $ K $ を昇順で出力せよ。
> $ L $ $ K_1 $ $ K_2 $ $ \ldots $ $ K_L $
Explanation/Hint
### 部分点
以下の制約を満たすデータセットに正解した場合は $ 1 $ 点が与えられる。
- $ N \le 2000 $
### Sample Explanation 1
例えば $ K=5 $ を追加したとき、 $ \lbrace 2,2,2\rbrace,\lbrace 2,3,4\rbrace,\lbrace
3,4,5\rbrace,\lbrace 5,5,5\rbrace $ のように $ 4 $ つの組を作ることができます。
### Sample Explanation 2
条件を満たす $ K $ が存在しないこともあります。
### Constraints
- 入力は全て整数
- $ 1 \le N \le 5 \times 10^5 $
- $ 1 \le M \le 10^8 $
- $ 0 \leq A_i \leq 3M-1 $
- $ \sum A_i=3M-1 $