#6195. 「美团 CodeM 复赛」Pairsum

内存限制:256 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:Special Judge
上传者: cyand1317

题目描述

一个长度为 LL 的序列可以生成 L(L1)2\frac {L(L-1)} {2} 对 pairsum,其中 pairsum 的定义如下:

设这个序列为 a1La_{1 \cdots L},那么对于所有 1i<jL1 \leq i \lt j \leq Lai+aja_i + a_j 都是该序列的一对 pairsum。

现在要求构造一个序列满足:每个数都为 11 ~ nn 范围内的整数,并且这 LL 个数互不相同,L(L1)2\frac {L(L-1)} {2} 对 pairsum 也互不相同。

你不需要得到最优解,只要满足 Ln2L \geq \frac {\sqrt n} {2}​​​​​ 就被认为是正确的。

输入格式

一个正整数 nn

输出格式

第一行一个整数 LL,表示你构造的序列长度。 第二行 LL 个互不相同的正整数描述你构造的序列。

样例

样例输入

10

样例输出

3
1 3 7

数据范围与提示

1n5×1061 \leq n \leq 5 \times 10^6