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>).



# Python3 program to check if the
# given number is prime using
# Wheel Factorization Method
import math

from sympy.functions.elementary.complexes import re

# Function to check if a given
# number x is prime or not
def isPrime( N):

	isPrime = True
	# The Wheel for checking
	# prime number
	arr= [ 7, 11, 13, 17,
				19, 23, 29, 31 ]

	# Base Case
	if (N < 2) :
		isPrime = False
	
	# Check for the number taken
	# as basis
	if (N % 2 == 0 or N % 3 == 0
		or N % 5 == 0):
		isPrime = False
	
	# Check for Wheel
	# Here i, acts as the layer
	# of the wheel
	for i in range(0,int(math.sqrt(N)), 30) :

		# Check for the list of
		# Sieve in arr[]
		for c in arr:

			# If number is greater
			# than sqrt(N) break
			if (c > int(math.sqrt(N))):
				break
			
			# Check if N is a multiple
			# of prime number in the
			# wheel
			else :
				if (N % (c + i) == 0) :
					isPrime = False
					break

			# If at any iteration
			# isPrime is false,
			# break from the loop
			if (not isPrime):
				break

	if (isPrime):
		return True
	else:
		return False




a,b=input().split(" ")
a=int(a)
b=int(b)
check=0

if a==b :
    print("0")
else :    
    while a!=1 and b!=1 :
        #print(a,b)
        if a > b :
            if a%5 == 0 :
                a=a//5
            elif a%3==0 :
                a=a//3 
            elif a%2==0 :
                a=a//2
            if isPrime(a) or isPrime(b) :
                check=-1
                break    
        elif b > a :
            if b%5 == 0 :
                b=b//5
            elif b%3==0 :
                b=b//3 
            elif b%2==0 :
                b=b//2
            if isPrime(a) or isPrime(b) :
                check=-1
                break    
        elif a==b  :
            if a%5 == 0 :
                a=a//5
            elif a%3==0 :
                a=a//3 
            elif a%2==0 :
                a=a//2
            if b%5 == 0 :
                b=b//5
            elif b%3==0 :
                b=b//3 
            elif a%2==0 :
                b=b//2
            if isPrime(a) or isPrime(b) :
                check=-1
                break
        check+=1                
    if check!=-1 :       
        print(check-1)
    else :
        print(check)




        