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 sys import stdin,stdout
from os import _exit
# from bisect import bisect_left,bisect
# from heapq import heapify,heappop,heappush
# from sys import setrecursionlimit
# from collections import defaultdict,Counter
# from itertools import permutations
# from math import gcd,ceil,sqrt,factorial
# setrecursionlimit(int(1e5))
input,print = stdin.readline,stdout.write

def quit():
    stdout.flush()
    _exit(0)
a,b = list(map(int,input().split()))
if a==b:
    print("0\n")
    quit()
x1,y1,z1,x2,y2,z2 = 0,0,0,0,0,0
while a%2==0:
    a//=2
    x1+=1
while a%3==0:
    a//=3
    y1+=1
while a%5==0:
    a//=5
    z1+=1

while b%2==0:
    b//=2
    x2+=1
while b%3==0:
    b//=3
    y2+=1
while b%5==0:
    b//=5
    z2+=1

if a!=b:
    print("-1\n")
else:
    print(str(abs(x1-x2)+abs(y1-y2)+abs(z1-z2))+"\n")
    
