#96. Recamán

Recamán

题目描述

小杨最近发现了有趣的 Recamán 数列,这个数列是这样生成的:

  • 数列的第一项 a1a_111
  • 如果 ai1ia_{i-1} - i 是正整数并且没有在数列中出现过,那么数列的第 iiaia_iai1ia_{i-1} - i,否则为 ai1+ia_{i-1} + i

小杨想知道 Recamán 数列的前 nn 项从小到大排序后的结果。手动计算非常困难,小杨希望你能帮他解决这个问题。

输入格式

第一行,一个正整数 nn

输出格式

一行,nn 个空格分隔的整数,表示 Recamán 数列的前 nn 项从小到大排序后的结果。

样例

输入样例 1:

5

输出样例 1:

1 2 3 6 7

输入样例 2:

8

输出样例 2:

1 2 3 6 7 12 13 20

样例解释

对于样例 1:a1=1a_1=1a2=12=1a_2=1-2=-1 不是正整数,因此 a2=3a_2=3a3=33=0a_3=3-3=0 不是正整数,因此 a3=6a_3=6a4=64=2a_4=6-4=2 是正整数且没有出现过,因此 a4=2a_4=2a5=25=3a_5=2-5=-3 不是正整数,因此 a5=7a_5=7。前五项从小到大排序后的结果为 1 2 3 6 71\ 2\ 3\ 6\ 7

数据范围

对于所有数据点,保证 1n1041 \le n \le 10^4