AT_abc134_d.[ABC134D] Preparing Boxes

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

NN 个空箱子横向排列成一排。从左到右第 ii1iN1 \leq i \leq N)个箱子上写着整数 ii

すぬけさん可以选择在每个箱子里放一个球,或者什么都不放。

现在,定义满足以下条件的放球方式为“好”的放球方式:

  • 对于任意 11NN 的整数 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 表示这些箱子上写的整数,顺序任意。

输入输出样例

  • 输入#1

    3
    1 0 0

    输出#1

    1
    1
  • 输入#2

    5
    0 0 0 0 0

    输出#2

    0

说明/提示

限制

  • 所有输入均为整数。
  • 1N2×1051 \leq N \leq 2 \times 10^5
  • aia_i 只可能是 0011

样例解释 1

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

  • 写着 11 的倍数的箱子有写着 112233 的箱子共 33 个。这些箱子里球的总数为 11
  • 写着 22 的倍数的箱子只有写着 22 的箱子,共 11 个。这些箱子里球的总数为 00
  • 写着 33 的倍数的箱子只有写着 33 的箱子,共 11 个。这些箱子里球的总数为 00
    因此,只在写着 11 的箱子里放球是一种满足条件的“好”的放球方式。

样例解释 2

有时什么球都不放也是一种“好”的放法。

首页