import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Scanner;
public class Main {
static void fact
(int n, HashMap
<Integer, Integer
> map
) { List<Integer> list = new ArrayList<>();
while (n % 2 == 0) {
list.add(2);
n /= 2;
}
for(int i
= 3; i
<= (int) Math.
sqrt(n
); i
++) { while (n % i == 0) {
list.add(i);
n /= i;
}
}
if (n > 2) list.add(n);
for(int i : list) {
if (map.get(i) == null) map.put(i, 1);
else map.put(i, map.get(i) + 1);
}
}
static boolean checkPossible
(HashMap
<Integer, Integer
> map1, HashMap
<Integer, Integer
> map2
) { for(int i : map1.keySet()) {
if ((i > 5) && (map1.get(i) != map2.get(i))) return false;
}
for(int i : map2.keySet()) {
if ((i > 5) && (map2.get(i) != map1.get(i))) return false;
}
return true;
}
public static void main
(String[] args
) { Scanner input
= new Scanner
(System.
in); String[] in
= input.
nextLine().
split("\\s+"); HashMap
<Integer, Integer
> map1
= new HashMap
<>(); HashMap
<Integer, Integer
> map2
= new HashMap
<>(); fact(a, map1);
fact(b, map2);
if (checkPossible(map1, map2)) {
int count = 0;
for(int i : map2.keySet()) {
if (map1.get(i) == null) {
map1.put(i, map2.get(i));
} else {
map1.
put(i,
Math.
abs(map1.
get(i
) - map2.
get(i
))); }
}
for(int i : map1.values()) count += i;
} else System.
out.
println(-1); }
}
aW1wb3J0IGphdmEudXRpbC5BcnJheUxpc3Q7CmltcG9ydCBqYXZhLnV0aWwuSGFzaE1hcDsKaW1wb3J0IGphdmEudXRpbC5MaXN0OwppbXBvcnQgamF2YS51dGlsLlNjYW5uZXI7CgpwdWJsaWMgY2xhc3MgTWFpbiB7CglzdGF0aWMgdm9pZCBmYWN0KGludCBuLCBIYXNoTWFwPEludGVnZXIsIEludGVnZXI+IG1hcCkgewoJCUxpc3Q8SW50ZWdlcj4gbGlzdCA9IG5ldyBBcnJheUxpc3Q8PigpOwoJCQoJCXdoaWxlIChuICUgMiA9PSAwKSB7CgkJCWxpc3QuYWRkKDIpOwoJCQluIC89IDI7CgkJfQoKCQlmb3IoaW50IGkgPSAzOyBpIDw9IChpbnQpIE1hdGguc3FydChuKTsgaSsrKSB7CgkJCXdoaWxlIChuICUgaSA9PSAwKSB7CgkJCQlsaXN0LmFkZChpKTsKCQkJCW4gLz0gaTsKCQkJfQoJCX0KCQkKCQlpZiAobiA+IDIpIGxpc3QuYWRkKG4pOwoJCQoJCWZvcihpbnQgaSA6IGxpc3QpIHsKCQkJaWYgKG1hcC5nZXQoaSkgPT0gbnVsbCkgbWFwLnB1dChpLCAxKTsKCQkJZWxzZSBtYXAucHV0KGksIG1hcC5nZXQoaSkgKyAxKTsKCQl9Cgl9CgkKCXN0YXRpYyBib29sZWFuIGNoZWNrUG9zc2libGUoSGFzaE1hcDxJbnRlZ2VyLCBJbnRlZ2VyPiBtYXAxLCBIYXNoTWFwPEludGVnZXIsIEludGVnZXI+IG1hcDIpIHsKCQlmb3IoaW50IGkgOiBtYXAxLmtleVNldCgpKSB7CgkJCWlmICgoaSA+IDUpICYmIChtYXAxLmdldChpKSAhPSBtYXAyLmdldChpKSkpIHJldHVybiBmYWxzZTsKCQl9CgoJCWZvcihpbnQgaSA6IG1hcDIua2V5U2V0KCkpIHsKCQkJaWYgKChpID4gNSkgJiYgKG1hcDIuZ2V0KGkpICE9IG1hcDEuZ2V0KGkpKSkgcmV0dXJuIGZhbHNlOwoJCX0KCgkJcmV0dXJuIHRydWU7Cgl9CgoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgewoJCVNjYW5uZXIgaW5wdXQgPSBuZXcgU2Nhbm5lcihTeXN0ZW0uaW4pOwoJCVN0cmluZ1tdIGluID0gaW5wdXQubmV4dExpbmUoKS5zcGxpdCgiXFxzKyIpOwoJCWludCBhID0gSW50ZWdlci52YWx1ZU9mKGluWzBdKTsKCQlpbnQgYiA9IEludGVnZXIudmFsdWVPZihpblsxXSk7CgkJSGFzaE1hcDxJbnRlZ2VyLCBJbnRlZ2VyPiBtYXAxID0gbmV3IEhhc2hNYXA8PigpOwoJCUhhc2hNYXA8SW50ZWdlciwgSW50ZWdlcj4gbWFwMiA9IG5ldyBIYXNoTWFwPD4oKTsKCQlmYWN0KGEsIG1hcDEpOwoJCWZhY3QoYiwgbWFwMik7CgoJCQoJCWlmIChjaGVja1Bvc3NpYmxlKG1hcDEsIG1hcDIpKSB7CgkJCWludCBjb3VudCA9IDA7CgkJCWZvcihpbnQgaSA6IG1hcDIua2V5U2V0KCkpIHsKCQkJCWlmIChtYXAxLmdldChpKSA9PSBudWxsKSB7CgkJCQkJbWFwMS5wdXQoaSwgbWFwMi5nZXQoaSkpOwoJCQkJfSBlbHNlIHsKCQkJCQltYXAxLnB1dChpLCBNYXRoLmFicyhtYXAxLmdldChpKSAtIG1hcDIuZ2V0KGkpKSk7CgkJCQl9CgkJCX0KCQkJZm9yKGludCBpIDogbWFwMS52YWx1ZXMoKSkgY291bnQgKz0gaTsKCQkJU3lzdGVtLm91dC5wcmludGxuKGNvdW50KTsKCQl9IGVsc2UgU3lzdGVtLm91dC5wcmludGxuKC0xKTsKCX0KfQ==