1958: CF727 - A. Transformation: from A to B
[Creator : ]
Description
Vasily has a number $a$, which he wants to turn into $a$ number $b$. For this purpose, he can do two types of operations:
- multiply the current number by $2$ (that is, replace the number $x$ by $2 \times x$);
- append the digit $1$ to the right of current number (that is, replace the number $x$ by $10 \times x+1$).
Note that in this task you are not required to minimize the number of operations. It suffices to find any way to transform $a$ into $b$.
Input
The first line contains two positive integers $a,\ b\ (1≤a<b≤10^9)$− the number which Vasily has and the number he wants to have.
Output
If there is no way to get b from a, print "NO" (without quotes).
Otherwise print three lines. On the first line print "YES" (without quotes). The second line should contain single integer $k$− the length of the transformation sequence. On the third line print the sequence of transformations $x_1,x_2,...,x_k$, where:
Otherwise print three lines. On the first line print "YES" (without quotes). The second line should contain single integer $k$− the length of the transformation sequence. On the third line print the sequence of transformations $x_1,x_2,...,x_k$, where:
- $x_1$ should be equal to $a$,
- $x_k$ should be equal to $b$,
- $x_i$ should be obtained from $x_{i-1}$ using any of two described operations $(1<i≤k)$.
Sample 1 Input
2 162
Sample 1 Output
YES
5
2 4 8 81 162
Sample 2 Input
4 42
Sample 2 Output
NO
Sample 3 Input
100 40021
Sample 3 Output
YES
5
100 200 2001 4002 40021