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>).
import math
import random 
from queue import Queue

cache={}
def main(a,b):
    
    val=[1,2,3,5]
    if a==b:
        return 0
    elif (a,b) in cache:
        return cache[(a,b)]

    else:
        ans=float('inf')
        for d1 in val:
            for d2 in val:
                if (d1==1 and d2==1):
                    continue 
                else:
                    val1=a/d1 
                    val2=b/d2
                    inc=2 if (d1!=1 and d2!=1) else 1 
                    if val1==int(val1) and val2==int(val2):
                        ans=min(ans,inc+main(val1,val2))
        cache[(a,b)]=ans 
        cache[(b,a)]=ans 
        return ans



a,b=list(map(int,input().split()))
res=main(a,b)
if res==float('inf'):
    print(-1)
else:
    print(res)

