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>).
from math import sqrt, floor, gcd

def factors(n):
    dct = {}
    for x in range(2, floor(sqrt(n))+1):
        while n%x==0:
            if x in dct:
                dct[x] += 1
            else:
                dct[x] = 1
            n //= x
    if n > 1:
        if n in dct:
                dct[n] += 1
        else:
            dct[n] = 1
    return dct

x, y = map(int, input().split())
if x == y:
    print(0)
    exit(0)
gd = gcd(x, y)
c = 0
x //= gd; y //= gd
s = {2, 3, 5}
dct1 = factors(x); dct2 = factors(y)

if set(k for k in dct1).issubset(s) and set(k for k in dct2).issubset(s):
    for k in dct1:
        c += dct1[k]
    for k in dct2:
        c += dct2[k]
    print(c)
else:
    print(-1)

