AT_codefestival_2016_final_b Exactly N points
Description
[problemUrl]: https://atcoder.jp/contests/cf16-final/tasks/codefestival_2016_final_b
ある年のCODE FESTIVALの決勝では $ N $ 問の問題が出題されました。
$ i\ (1≦i≦N) $ 番目の問題の配点は $ i $ 点です。
高橋くんは、このコンテストでちょうど $ N $ 点を取りたいと思い、そのために解く問題の集合をどうするかを考えています。
配点が高い問題は難しいので、解く問題の配点のうちの最大値が最小になるようにしようと考えました。
高橋くんが解くべき問題の集合を求めてください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $
Output Format
点数の合計がちょうど $ N $ となるような集合のうち、配点の最大値が最小となるようなものを求め、その集合に含まれる問題の番号を $ 1 $ 行にひとつずつ出力せよ。昇順に出力する必要はありません。
そのような集合が複数考えられる場合は、いずれを出力しても構わない。
Explanation/Hint
### 制約
- $ 1≦N≦10^7 $
### 部分点
- $ 1≦N≦1000 $ を満たすデータセットに正解した場合は、$ 200 $ 点が与えられる。
- 追加制約のないデータセットに正解した場合は、上記とは別に $ 100 $ 点が与えられる。
### Sample Explanation 1
$ 4 $ 番目の問題のみを解いた場合もちょうど $ 4 $ 点が得られますが、$ 1,3 $ 番目の問題を解く方が配点の最大値が小さくなります。
### Sample Explanation 2
$ \{3,4\} $ という集合も考えられます。