#L6195. 「美团 CodeM 复赛」Pairsum

「美团 CodeM 复赛」Pairsum

6195. 「美团 CodeM 复赛」Pairsum


题目描述

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

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

现在要求构造一个序列满足:

  1. 每个数都为 ( 1 \sim n ) 范围内的整数;
  2. 这 ( L ) 个数互不相同;
  3. (\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 ]