#6195. 「美团 CodeM 复赛」Pairsum

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

题目描述

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

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

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

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

输入格式

一个正整数 n

输出格式

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

样例

样例输入

10

样例输出

3
1 3 7

数据范围与提示

1 \leq n \leq 5 \times 10^6