Time Limit: 2 sec / Memory Limit: 1024 MB
配点 : 400 点
問題文
N 個の空の箱が横一列に並んでいます。 左から i \ (1 \leq i \leq N) 番目の箱には整数 i が書かれています。
すぬけさんは、それぞれの箱に対してボールを 1 個入れるか何も入れないかを選ぶことができます。
ここで、以下の条件を満たすようなボールの入れ方を、いいボールの入れ方と定めます。
- 1 以上 N 以下の任意の整数 i について、i の倍数が書かれた箱に入っているボールの個数の和を 2 で割った余りが a_i である。
いいボールの入れ方は存在するでしょうか。存在するならば 1 つ求めてください。
制約
- 入力は全て整数である。
- 1 \leq N \leq 2 \times 10^5
- a_i は 0 または 1 である。
入力
入力は以下の形式で標準入力から与えられる。
N a_1 a_2 ... a_N
出力
いいボールの入れ方が存在しないなら -1
を出力せよ。
存在するならば、そのような入れ方のうちの 1 つを以下の形式で出力せよ。
M b_1 b_2 ... b_M
ここで M はボールを入れる箱の個数を表し、b_1,\ b_2,\ ...,\ b_M はボールを入れる箱に書かれた整数を任意の順番に並べたものである。
入力例 1
3 1 0 0
出力例 1
1 1
1 が書かれた箱だけにボールを入れることを考えます。
- 1 の倍数が書かれた箱は、1 が書かれた箱、2 が書かれた箱、3 が書かれた箱の 3 個です。これらの箱に入っているボールの個数の和は 1 です。
- 2 の倍数が書かれた箱は、2 が書かれた箱の 1 個だけです。これらの箱に入っているボールの個数の和は 0 です。
- 3 の倍数が書かれた箱は、3 が書かれた箱の 1 個だけです。これらの箱に入っているボールの個数の和は 0 です。
以上より、1 が書かれた箱だけにボールを入れるのは、与えられた条件を満たすいいボールの入れ方です。
入力例 2
5 0 0 0 0 0
出力例 2
0
ボールを 1 つも入れない入れ方が、いい入れ方になる場合もあります。
Score : 400 points
Problem Statement
There are N empty boxes arranged in a row from left to right. The integer i is written on the i-th box from the left (1 \leq i \leq N).
For each of these boxes, Snuke can choose either to put a ball in it or to put nothing in it.
We say a set of choices to put a ball or not in the boxes is good when the following condition is satisfied:
- For every integer i between 1 and N (inclusive), the total number of balls contained in the boxes with multiples of i written on them is congruent to a_i modulo 2.
Does there exist a good set of choices? If the answer is yes, find one good set of choices.
Constraints
- All values in input are integers.
- 1 \leq N \leq 2 \times 10^5
- a_i is 0 or 1.
Input
Input is given from Standard Input in the following format:
N a_1 a_2 ... a_N
Output
If a good set of choices does not exist, print -1
.
If a good set of choices exists, print one such set of choices in the following format:
M b_1 b_2 ... b_M
where M denotes the number of boxes that will contain a ball, and b_1,\ b_2,\ ...,\ b_M are the integers written on these boxes, in any order.
Sample Input 1
3 1 0 0
Sample Output 1
1 1
Consider putting a ball only in the box with 1 written on it.
- There are three boxes with multiples of 1 written on them: the boxes with 1, 2, and 3. The total number of balls contained in these boxes is 1.
- There is only one box with a multiple of 2 written on it: the box with 2. The total number of balls contained in these boxes is 0.
- There is only one box with a multiple of 3 written on it: the box with 3. The total number of balls contained in these boxes is 0.
Thus, the condition is satisfied, so this set of choices is good.
Sample Input 2
5 0 0 0 0 0
Sample Output 2
0
Putting nothing in the boxes can be a good set of choices.