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>).
a = list(map(int,input().strip().split()))
x,y=a
if x==y:
    print(0)
else:
    a,b=[0,0,0],[0,0,0]
    opt=0
    while x>1:
        if x%2==0:
            x=x//2
            a[0]+=1
        elif x%3==0:
            x=x//3
            a[1]+=1
        elif x%5==0:
            x=x//5
            a[2]+=1
        else:
            break
    if y%x!=0:
        print(-1)
    else:
        y=y//x
        while y>1:
            if y%2==0:
                y=y//2
                b[0]+=1
            elif y%3==0:
                y=y//3
                b[1]+=1
            elif y%5==0:
                y=y//5
                b[2]+=1
            else:
                break
        if y!=1:
            print(-1)
        else:
            print(max(a[0]-b[0],b[0]-a[0])+max(a[1]-b[1],b[1]-a[1])+max(a[2]-b[2],b[2]-a[2]))

