AT_abc134_d [ABC134D] Preparing Boxes
Description
[problemUrl]: https://atcoder.jp/contests/abc134/tasks/abc134_d
$ N $ 個の空の箱が横一列に並んでいます。 左から $ i $ $ \ (1\ \leq\ i\ \leq\ N) $ 番目の箱には整数 $ i $ が書かれています。
すぬけさんは、それぞれの箱に対してボールを $ 1 $ 個入れるか何も入れないかを選ぶことができます。
ここで、以下の条件を満たすようなボールの入れ方を、いいボールの入れ方と定めます。
- $ 1 $ 以上 $ N $ 以下の任意の整数 $ i $ について、$ i $ の倍数が書かれた箱に入っているボールの個数の和を $ 2 $ で割った余りが $ a_i $ である。
いいボールの入れ方は存在するでしょうか。存在するならば $ 1 $ つ求めてください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ a_1 $ $ a_2 $ ... $ a_N $
Output Format
いいボールの入れ方が存在しないなら `-1` を出力せよ。
存在するならば、そのような入れ方のうちの $ 1 $ つを以下の形式で出力せよ。
> $ M $ $ b_1 $ $ b_2 $ $ ... $ $ b_M $
ここで $ M $ はボールを入れる箱の個数を表し、$ b_1,\ b_2,\ ...,\ b_M $ はボールを入れる箱に書かれた整数を任意の順番に並べたものである。
Explanation/Hint
### 制約
- 入力は全て整数である。
- $ 1\ \leq\ N\ \leq\ 2\ \times\ 10^5 $
- $ a_i $ は $ 0 $ または $ 1 $ である。
### Sample Explanation 1
$ 1 $ が書かれた箱だけにボールを入れることを考えます。 - $ 1 $ の倍数が書かれた箱は、$ 1 $ が書かれた箱、$ 2 $ が書かれた箱、$ 3 $ が書かれた箱の $ 3 $ 個です。これらの箱に入っているボールの個数の和は $ 1 $ です。 - $ 2 $ の倍数が書かれた箱は、$ 2 $ が書かれた箱の $ 1 $ 個だけです。これらの箱に入っているボールの個数の和は $ 0 $ です。 - $ 3 $ の倍数が書かれた箱は、$ 3 $ が書かれた箱の $ 1 $ 個だけです。これらの箱に入っているボールの個数の和は $ 0 $ です。 以上より、$ 1 $ が書かれた箱だけにボールを入れるのは、与えられた条件を満たすいいボールの入れ方です。
### Sample Explanation 2
ボールを $ 1 $ つも入れない入れ方が、いい入れ方になる場合もあります。