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>).
#dividing by 2 and 3 and 5 maeans subtracrting the powers
a,b=map(int,input().split())
cnt_a2,cnt_a3,cnt_a5=0,0,0
cnt_b2,cnt_b3,cnt_b5=0,0,0
ans=0
while True:
  while a>0 and a%2==0:
     a=a//2;cnt_a2+=1
  while a>0 and a%3==0:
     a=a//3;cnt_a3+=1
  while a>0 and a%5==0:
     a=a//5;cnt_a5+=1
  while b>0 and b%2==0:
     b=b//2;cnt_b2+=1
  while b>0 and b%3==0:
     b=b//3;cnt_b3+=1
  while b>0 and b%5==0:
     b=b//5;cnt_b5+=1
  if a!=b:print(-1);exit()
  else:
    ans+=abs(cnt_a2-cnt_b2)+abs(cnt_a3-cnt_b3)+abs(cnt_a5-cnt_b5);exit(print(ans))
