1141_A. 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.
```python
def fun(a,b):
    if a % b != 0:
        return -1
    temp = 0
    m = a/b
    
    while m % 2 == 0:
        m = m / 2
        temp += 1
    while m % 3 == 0:
        m = m/3
        temp += 1
    if m == 1:
        return temp
    else :
        return -1
a,b = map(int,input().split())
print(fun(b,a))
```