You are given the numbers $$$x$$$ and $$$d$$$. Your task is to find any array that simultaneously satisfies the following criteria:
The single line contains two integers $$$x$$$ $$$(2 \le x \le 10^{9})$$$ and $$$d$$$ $$$(2 \le d \le 10^{9})$$$
If such an array does not exist, then output "$$$-1$$$".
Otherwise, in the first line, output the number $$$n$$$ ($$$1 \le n \le 1000$$$) — the minimal size of the array.
In the second line, output the numbers $$$a_1,a_2,\dots,a_n$$$ ($$$1 \le a_i \le d$$$), which satisfy the condition.
If there are multiple correct answers, any of them are allowed.
It can be shown that the length of the optimal array always satisfies the constraint.
In this problem, there are conditional blocks. If your solution works correctly for certain constraints, it will receive a certain number of points. Note that the evaluation is still in the testing phase.
10 5
2 5 2
11 6
-1
120 6
3 5 4 6
In the first example, $$$x=10$$$ and $$$d=5$$$. You need to find an array with a product of $$$10$$$. The array "$$$5,2$$$" fits, because $$$5\times 2=10$$$ and each number is not greater than $$$d$$$. It is impossible to make an array of size one, because then the only element should be equal to $$$x$$$, and in this test $$$x>d$$$.