Anton buys a piglet
Anton decided not to save money, but to buy a piglet. To help with the money, he turned to his acquaintance, the wizard Kozak Vusa. It so happened that Kozak Vusa was too busy preparing special smoothies of the "B" brand, so he simply decided to give Anton two magic buttons:
pressing the first button doubles his balance;
pressing the second button adds exactly coins to his balance.
At the underground piglet auction, Anton saw that the cheapest beautiful piglet costs karbovanets.
He was about to start pressing the buttons, but remembered that for such manipulations, the employees of "Polybank" could sue him. Therefore, he decided that he would try to get exactly coins, after which he would immediately buy the piglet and again have exactly karbovanets in his account.
Now you need to help Anton with a plan of action, and if possible, determine the minimum number of operations needed and output the order of operations. For this, Anton promised to let you play "Calculator Online" on his laptop.
Input
The first line contains two integers and (, ).
Output
In the first line, output a single number () — the minimum number of operations of pressing one of the buttons needed to reach the balance .
In the second line, output integers () — the buttons in the order they need to be pressed.
If it is impossible to obtain a balance exactly equal to using the given buttons, output .
Examples
Note
In the first test, we can press the second button 3 times, then the balance will be equal to .
In the second test, it can be shown that it is impossible to obtain a balance equal to using the given buttons.
In the third test, the following operations can be performed:
pressing the button, the balance is equal to ;
pressing the button, the balance is equal to ;
pressing the button, the balance is equal to ;
pressing the button, the balance is equal to ;
pressing the button, the balance is equal to ;
pressing the button, the balance is equal to .
It can be shown that these answers are minimal for each test.
Scoring
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 each test is graded individually.
(33 points): ;
(33 points): ;
(34 points): without additional constraints.