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>).
n ,m =  map(int,input().split())
x = 0
z1 = [ 0 ,0,0]
z2 = [ 0 ,0,0]

if n%2 == 0 or m%2 ==0 :
     
     while n%2 == 0 :
        n = int(n/2)
        z1[0] += 1
     while m%2 == 0 :
        m = int(m/2)
        z2[0] += 1

        
if n%3 == 0 or m%3 == 0:
     x+=1
     while n%3 == 0 :
                n = int(n/3)

                z1[1] += 1

     while m%3 == 0 :
                m = int(m/3)
                z2[1] += 1

        
if n%5 == 0 or m%5 == 0:
     x+=1
     while n%5 == 0 :
                n = int(n/2)

                z1[2] += 1

     while m%5 == 0 :
                m = int(m/5)

                z2[2] += 1
x = 0
for i in range(3):
    if z1[i] == z2[i]  != 0:
        x =1
        break
if x :
 z = z1 +z2
 z = [ abs(z[i] - z[i+3]) for i in range(3)]
 print(sum(z))
else :
    print(-1)