#include <bits/stdc++.h>
using namespace std;
long long calc(long long &a, long long prime[]) {
  prime[2] = prime[3] = prime[5] = 0;
  while (a > 1 && a % 2 == 0) {
    prime[2]++;
    a /= 2;
  }
  while (a > 1 && a % 3 == 0) {
    prime[3]++;
    a /= 3;
  }
  while (a > 1 && a % 5 == 0) {
    prime[5]++;
    a /= 5;
  }
  return a;
}
int main() {
  long long a, b;
  cin >> a >> b;
  if (a == b) {
    cout << 0;
    return 0;
  }
  long long primeA[10];
  long long primeB[10];
  calc(a, primeA);
  calc(b, primeB);
  if (a != b) {
    cout << -1;
    return 0;
  }
  long long res2 = min(primeA[2], primeB[2]);
  long long res3 = min(primeA[3], primeB[3]);
  long long res5 = min(primeA[5], primeB[5]);
  long long res = 0;
  res += primeA[2] - res2;
  res += primeA[3] - res3;
  res += primeA[5] - res5;
  res += primeB[2] - res2;
  res += primeB[3] - res3;
  res += primeB[5] - res5;
  cout << res;
  return 0;
}
