|시간 제한||메모리 제한||제출||정답||맞은 사람||정답 비율|
|4 초||512 MB||91||44||36||48.000%|
Johnny collects toys. His collection may contain many toys of many different types: cars, trucks, diggers and many more. He may own more than one piece of the same toy, e.g. four trucks, in which case all the pieces are indistinguishable for him.
Emma asked Johnny how many toys he has. Not wanting to reveal the secret, he answered with a riddle (it is typical for him): If I chose a different set of my toys for each day, I could play for n days. In other words, for every two days there is a type of toy with a different quantity. Here, Johnny considers an empty set of toys as a valid set.
Emma likes neither the answer and nor this riddle, but she is really curious to know how many toys Johnny has. She asked you for help. Can you determine all possibilities of the number of toys that Johnny may have in his collection?
The first (and the only one) line of the standard input contains an integer n (1 ≤ n ≤ 109).
The first line of the standard output should contain one integer r, the number of solutions (that is, the number of possibilities of the number of toys in Johnny’s collection).
The second line should contain a strictly increasing sequence of r integers that represents the numbers of toys that Johnny may have in his collection.
n ≤ 50
n ≤ 10 000
n ≤ 100 000
n ≤ 108
No additional constraints
4 4 5 6 11
Johnny could have:
Each of these options guarantees exactly 12 days of fun. For example, if he has eleven trucks, he can choose a set of i − 1 trucks on the i-th day (for i = 1, . . . , 12).
8 6 7 8 10 11 13 18 35
Note that there are two different sets of 10 toys that guarantee 36 days of fun:
Still, only one of them is output.
To get 6 toys in total, Johnny could have one truck, one car, two diggers and two buses.