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>).
# link: https://codeforces.com/contest/371/problem/B

import math

for _ in range(1):
    a, b = map(int, input().split())
    if a==b:
        print(0)
    else:
        # some a value and some b value
        states_a = [[a,0]]
        states_b = [[b,0]]
        c = 1
        visited = set()
        visited.add(a)
        while a:
            if a%2 == 0:
                states_a.append([a//2, c])
                visited.add(a//2)
                a = a//2
            elif a%3 == 0:
                states_a.append([a//3, c])
                visited.add(a//3)
                a = a//3
            elif a%5 == 0:
                states_a.append([a//5, c])
                visited.add(a//5)
                a = a//5
            else:
                break    
            c += 1
        c = 1    
        found = 0
        while b:
            if b%2 == 0:
                states_b.append([b//2, c])
                if b//2 in visited:
                    found = 1
                    break
                b = b//2
            elif b%3 == 0:
                states_b.append([b//3, c])
                if b//3 in visited:
                    found = 1
                    break
                b = b//3
            elif b%5 == 0:
                states_b.append([b//5, c])
                if b//5 in visited:
                    found = 1
                    break
                b = b//5
            else:
                break    
            c += 1
        if not found:
            print(-1)
        else:
            value = states_b[-1][1]
            for i in states_a:
                if i[0] == states_b[-1][0]:
                    value += i[1]
                    break
            print(value)           