#abc251d. [abc251_d]At Most 3 (Contestant ver.)

[abc251_d]At Most 3 (Contestant ver.)

题目描述

给定一个整数 WW。你需要准备一些重量,使得满足以下所有条件:

  • 重量的数量在 11300300 之间,包含 11300300
  • 每个重量的质量是不超过 10610^6 的正整数。
  • 11WW 之间的每个整数(包括 11WW)都是好的整数。这里,如果满足以下条件,则称正整数 nn 是一个好整数:
    • 我们可以从准备好的重量中选择最多 33不同的重量,它们的总质量等于 nn

打印出满足条件的重量的组合。

约束条件

  • 1W1061 \leq W \leq 10^6
  • WW 是整数。

输入

从标准输入中以以下格式获取输入数据:

WW

输出

按以下格式打印输出,其中 NN 是重量的数量,AiA_i 是第 ii 个重量的质量。如果存在多个解决方案,则可以打印任意一个。

NN A1A_1 A2A_2 \dots ANA_N

在这里,NNA1,A2,,ANA_1,A_2,\dots,A_N 应满足以下条件:

  • 1N3001 \leq N \leq 300
  • 1Ai1061 \leq A_i \leq 10^6

示例输入 1

6

示例输出 1

3
1 2 3

上面的输出中,准备了质量为 11223333 个重量。
该输出符合条件。特别地,关于第 33 个条件,我们可以确认在 11WW 之间的每个整数都是好整数。

  • 如果我们只选择第 11 个重量,它的总质量为 11
  • 如果我们只选择第 22 个重量,它的总质量为 22
  • 如果我们只选择第 33 个重量,它的总质量为 33
  • 如果我们选择第 11 和第 33 个重量,它们的总质量为 44
  • 如果我们选择第 22 和第 33 个重量,它们的总质量为 55
  • 如果我们选择第 11、第 22 和第 33 个重量,它们的总质量为 66

示例输入 2

12

示例输出 2

6
2 5 1 2 5 1

你可以准备多个质量相同的重量。