Two little greedy bears have found two pieces of cheese in the forest of weight *a* and *b* grams, correspondingly. The bears are so greedy that they are ready to fight for the larger piece. That's where the fox comes in and starts the dialog: "Little bears, wait a little, I want to make your pieces equal" "Come off it fox, how are you going to do that?", the curious bears asked. "It's easy", said the fox. "If the mass of a certain piece is divisible by two, then I can eat exactly a half of the piece. If the mass of a certain piece is divisible by three, then I can eat exactly two-thirds, and if the mass is divisible by five, then I can eat four-fifths. I'll eat a little here and there and make the pieces equal". 

The little bears realize that the fox's proposal contains a catch. But at the same time they realize that they can not make the two pieces equal themselves. So they agreed to her proposal, but on one condition: the fox should make the pieces equal as quickly as possible. Find the minimum number of operations the fox needs to make pieces equal.
The first line contains two space-separated integers *a* and *b* (1 ≤ *a*, *b* ≤ 10<sup class="upper-index">9</sup>).
#This code is contributed by Siddharth
from bisect import *
import math
from collections import *
from heapq import *
from itertools import *
inf=10**18
mod=10**9+7

# ---------------------------------------------------------Code---------------------------------------------------------



def prime(n):
    i=2
    while i*i<=n:
        if n%i==0:
            return False
        i+=1
    return True




a1,b1=map(int,input().split())
a=a1
b=b1
rem=defaultdict(int)
rem[3]=rem[5]=rem[2]=1
dica=defaultdict(int)
dicb=defaultdict(int)
if not prime(a):
    i=2
    while a>1:
        if a%i==0:
            while (a%i==0):
                a//=i
                dica[i]+=1
        else:
            i+=1
else:
    dica[a1]=1


if not prime(b):
    i=2
    while b>1:
        if b%i==0:
            while (b%i==0):
                b//=i
                if dica[i]:
                    dica[i]-=1
                else:
                    dicb[i]+=1
        else:
            i+=1
else:
    if dica[b1]:
        dica[b1]-=1
    else:
        dicb[b1]=1
ans=0
bol=True
for i in dica:
    if dica[i]:
        if rem[i]:
            ans+=dica[i]
        else:
            bol=False
            break

bolo=True
for i in dicb:
    if dicb[i]:
        if rem[i]:
            ans+=dicb[i]
        else:
            bolo=False
            break


if bol and bolo:
    print(ans)
else:
    print(-1)



















