#D10265. Game 23

    ID: 8535 Type: Default 1000ms 256MiB

Game 23

Game 23

Polycarp plays "Game 23". Initially he has a number n and his goal is to transform it to m. In one move, he can multiply n by 2 or multiply n by 3. He can perform any number of moves.

Print the number of moves needed to transform n to m. Print -1 if it is impossible to do so.

It is easy to prove that any way to transform n to m contains the same number of moves (i.e. number of moves doesn't depend on the way of transformation).

Input

The only line of the input contains two integers n and m (1 ≤ n ≤ m ≤ 5⋅10^8).

Output

Print the number of moves to transform n to m, or -1 if there is no solution.

Examples

Input

120 51840

Output

7

Input

42 42

Output

0

Input

48 72

Output

-1

Note

In the first example, the possible sequence of moves is: 120 → 240 → 720 → 1440 → 4320 → 12960 → 25920 → 51840. The are 7 steps in total.

In the second example, no moves are needed. Thus, the answer is 0.

In the third example, it is impossible to transform 48 to 72.

inputFormat

Input

The only line of the input contains two integers n and m (1 ≤ n ≤ m ≤ 5⋅10^8).

outputFormat

Output

Print the number of moves to transform n to m, or -1 if there is no solution.

Examples

Input

120 51840

Output

7

Input

42 42

Output

0

Input

48 72

Output

-1

Note

In the first example, the possible sequence of moves is: 120 → 240 → 720 → 1440 → 4320 → 12960 → 25920 → 51840. The are 7 steps in total.

In the second example, no moves are needed. Thus, the answer is 0.

In the third example, it is impossible to transform 48 to 72.

样例

42 42
0

</p>