Task: TOY Toys: Input
Task: TOY Toys: Input
Task: TOY Toys: Input
Toys english
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?
Input
The first (and the only one) line of the standard input contains an integer n (1 ≤ n ≤ 109 ).
Output
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.
Example
For the input data: the correct result is:
12 4
4 5 6 11
Explanation of the example: Johnny could have:
• two trucks, one car, and one digger (4 toys in total),
• three trucks and two cars (5 toys in total),
• five trucks and one car (6 toys in total),
• eleven trucks (11 toys in total).
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).