#ABC134D. 放球

放球

放球

题目描述

NN 个空箱子排成一排。从左数第 ii (1iN1 \le i \le N) 个箱子上写着整数 ii

Snuke 君可以决定在每个箱子里放入 1 个球,或者什么都不放。

这里,把满足以下条件的放球方式定义为「好的放球方式」:

  • 对任意满足 1iN1 \le i \le N 的整数 ii,写有 ii 的倍数的箱子中球的个数之和除以 22 的余数等于 aia_i

是否存在好的放球方式?如果存在,请找出一个。

输入格式

输入按以下格式从标准输入给出:

NN
a1a_1 a2a_2 ... aNa_N

输出格式

如果不存在好的放球方式,输出 -1

如果存在,请按以下格式输出其中一种方式:

MM
b1b_1 b2b_2 ...... bMb_M

这里,MM 表示放入球的箱子个数,b1,b2,...,bMb_1, b_2, ..., b_M 是放入球的箱子上所写的整数按任意顺序排列得到的。

样例

3
1 0 0
1
1

考虑只在写着 11 的箱子里放球。

  • 写着 11 的倍数的箱子是写着 112233 的箱子,共 3 个。这些箱子中球的个数之和是 11

  • 写着 22 的倍数的箱子只有写着 22 的箱子 1 个。这些箱子中球的个数之和是 00

  • 写着 33 的倍数的箱子只有写着 33 的箱子 1 个。这些箱子中球的个数之和是 00

综上所述,只在写着 11 的箱子里放球是满足给定条件的好放球方式。

5
0 0 0 0 0
0

一个球也不放的方式,有时也会成为好的放球方式。

数据范围

  • 输入均为整数
  • 1N2×1051 \le N \le 2 \times 10^5
  • aia_i0011

提示

答案不唯一,输出任意合法解即可。

难度 普及+/提高-
通过率
尝试 0
已通过 0
ID
1749
类型
传统题
Time Limit
2000ms
Memory Limit
1024MiB
上传者
标签