#P1247. 装球游戏(ball)

装球游戏(ball)

游戏是这样的:有NN个盒子(NN足够大,可装入任何数量的球),分别编号1122,……,NN。同时有SS个小球0<S<1000(0 \lt S \lt 1000),要求将SS 个小球装入到盒子中去。

装球时必须遵守以下的规则:(1)第11个盒子不能为空;(2)第11个盒子和最后一个有球的盒子中间不可以有空的盒子;(3)装入必须严格按递增顺序进行,即每个有球盒子中的小球数必须比它前面的盒子中的小球数多;(4)要求有球的盒子尽可能多;(5)装完后,相邻盒子中球个数差的绝对值之和最小(未装的盒子不计)。

如:当S=8S=8时,装入方法有112255113344
装入法112255时差的绝对值之和为ABS(21)+ABS(52)=4ABS(2-1)+ABS(5-2)=4
装入法113344时差的绝对值之和为ABS(31)+ABS(43)=3ABS(3-1)+ABS(4-3)=3
所以装入法113344为正确的装入方法。

输入格式

输入一个整数SSSS表示小球的个数,0<S<10000 \lt S \lt 1000

输出格式

输出满足上述游戏规则的装入方法。

样例

样例输入

8

样例输出

1 3 4

数据范围与提示

  • 时间限制:1000ms1000\mathrm{ms}
  • 空间限制:262144KB262144\mathrm{KB}

大样例下载