Problem F
Free Desserts
Quido has lunch in Hugo’s restaurant every day. He likes the restaurant because all of its prices are expressed as integers, and for each possible price (i.e. $$1$, $$2$, $$3$, etc.) there is at least one beverage and at least one main dish on the menu. Every day there are three entries printed on Quido’s lunch bill: the beverage price, the main dish price, and the total price. Hugo knows of Quido’s interest in computational problems and he offered Quido a free dessert each time his lunch bill meets the following three constraints:
-
the bill is not identical to any of Quido’s previous bills,
-
the price of the beverage is less than the price of the main dish, and
-
the prices listed on the bill cannot mutually use the same digit. In essence, any digit which occurs in any of the entries (beverage, main dish, total) must be different from any of the digits of the other two entries.
Quido is on a budget and he pays the same price for his lunch every day. How many times can he have a free dessert?
Input
The input consists of a single line with one integer representing the price $P$ which Quido pays for each lunch. The value of $P$ is positive and less than $10^{18}$.
Output
Output the maximum number of times Quido can have a free dessert at Hugo’s restaurant, provided that the price of his lunch is always $P$. Next, the possible bills which result in a free dessert are listed in ascending order with respect to the beverage price. Each bill consists of the price of the beverage followed by the price of the main dish. For simplicity, the value $P$, which is always the same, is not included in the bill.
If there are more than $5\, 000$ possible bills, then output only the first $5\, 000$ bills (but still report the total number of possible bills before the list of bills).
Sample Input 1 | Sample Output 1 |
---|---|
37 |
4 8 29 9 28 11 26 15 22 |
Sample Input 2 | Sample Output 2 |
---|---|
30014 |
7 85 29929 88 29926 785 29229 788 29226 7785 22229 7788 22226 7789 22225 |
Sample Input 3 | Sample Output 3 |
---|---|
202020202020202058 |
3 7676767676767667 194343434343434391 37373737373737397 164646464646464661 67676767676767667 134343434343434391 |