#abc134d. [abc134_d]Preparing Boxes

[abc134_d]Preparing Boxes

题目描述

NN 个空盒子从左到右排列。写在第 ii 个盒子上的整数为 ii (1iN)(1 \leq i \leq N)

对于每个盒子,Snuke 可以选择在其内放一个球或不放。

我们定义一个放置或不放置球的选择集合是好的,当满足以下条件时:

  • 对于每个整数 ii1iN1 \leq i \leq N),写在盒子上的数字为 ii 的盒子内包含的球的总数对 22 取模与 aia_i 相同。

是否存在一个好的选择集合?如果答案是肯定的,请找到一个好的选择集合。

约束条件

  • 输入中的所有值都是整数。
  • 1N2×1051 \leq N \leq 2 \times 10^5
  • aia_i0011

输入

输入数据从标准输入读入,数据格式如下:

NN a1a_1 a2a_2 ...... aNa_N

输出

如果不存在好的选择集合,则输出 -1

如果存在好的选择集合,则输出以下格式的一个选择集合:

MM b1b_1 b2b_2 ...... bMb_M

其中 MM 表示将放有球的盒子的数量,b1,b2,...,bMb_1, b_2, ..., b_M 是这些盒子上写的整数,顺序任意。

示例输入 1

3
1 0 0

示例输出 1

1
1

只考虑在写有数字 11 的盒子内放一个球。

  • 写有数字为 112233 的盒子分别有三个。这些盒子内包含的球的总数为 11
  • 只有一个盒子上写有数字 22,它内部包含的球的总数为 00
  • 只有一个盒子上写有数字 33,它内部包含的球的总数为 00

因此,满足条件,这个选择集合是好的。

示例输入 2

5
0 0 0 0 0

示例输出 2

0

不在盒子里放球也可以成为一个好的选择集合。