#HK4794. 「RMI 2021」Present
「RMI 2021」Present
题目描述
题目译自 Romanian Master of Informatics 2021 Day1 T2 「Present」
莱卡决定为她的好朋友高地女巫阿兹莎准备一份礼物。出于未知的原因,这份礼物将是一组有限的正整数。如果只有这些,选择礼物将是一件简单的事情,但几个因素使这件事变得复杂。
首先,莱卡的竞争对手弗拉托特拥有神秘的魔法力量:给定两个整数 和 ,她可以创建 和 的最大公约数(即 )。如果莱卡送了一份礼物,弗拉托特可以立即添加到礼物中(即如果她送了一组 ,其中 ,但 ),那么弗拉托特就会立即嘲笑她的对手。因此,莱卡的礼物不能通过弗拉托特的魔法力量进行改进:如果她送了 ,那么对于所有的 ,必须满足 。
其次,莱卡希望礼物具有某种特殊意义。自从她遇到阿兹莎已经过去了 天,她希望礼物能体现这一事实。因此,她将满足上述条件的所有集合按照莱卡顺序(如下所述)排列,得到一个无限的有限集合序列 她想要选择并送出集合 。你能帮她做到吗?
莱卡顺序:取两个集合 和 。那么,当且仅当 或 且 在莱卡顺序中先于 时, 在莱卡顺序中先于 。特别的,令 。请注意,对于有限的正整数集合,这总是明确定义的。
输入格式
输入包含多组数据。第一行包含一个整数 。接下来的 行每行描述了一组测试数据,每行包含一个整数 ,我们想要知道 。
输出格式
对于这 个 的值中的每一个,输出集合 。要输出一个集合,输出一行,首先是它的元素个数,然后是它的元素,按升序排列。
5
0
1
2
3
4
0
1 1
1 2
2 1 2
1 3
请注意,$S_{0}=\emptyset, S_{1}=\{1\}, S_{2}=\{2\}, S_{3}=\{1,2\}, S_{4}=\{3\}, S_{5}=\{1,3\}, S_{6}=\{1,2,3\}, S_{100}=$ 。这些正是样例中输出的集合(以及它们的大小)。请注意,,这是因为 ,但 。
4
5
6
100
1000
2 1 3
3 1 2 3
5 1 2 3 7 8
7 1 2 3 5 10 11 12
数据范围与提示
对于所有输入数据,满足:
详细子任务附加限制及分值如下表所示。
| 子任务 | 分值 | 附加限制 |
|---|---|---|