Znaika has many interests. For example, now he is investigating the properties of number sets. Znaika writes down some set consisting of different positive integers (he calls this set a *generating* set), calculates the sum of all the written digits, and writes down the result in a special notebook. For example, for a generating set
7, 12, 43, he will write down the number 17 = 7 + 1 + 2 + 4 + 3. Znaika is sure that only *magic* numbers can appear as a result of this operation.

Neznaika laughs at Znaika. He thinks that there is a generating set for every number, and he even made a bet with Znaika that he would be able to construct such a set.

Help Neznaika win the bet and construct a generating set for a given number.

### Input

The only input line contains an integer *n* (0 < *n* < 10^{5}).

### Output

If it is possible to construct a generating set for the number *n*, output the number of elements in this set in the first line. In the second line output
a space-separated list of these elements. The elements of the set must be different positive integers strictly less than 10^{5}. If there are several generating sets, output any of them. If there are no generating sets, output −1.

### Sample

**Problem Author: **Ivan Burmistrov

**Problem Source: **Ural Regional School Programming Contest 2009