#include<stdio.h>
long long m(long long a,long long b)
{
long long t;
if(a<b){
t=a;
a=b;
b=t;
}
while(a%b!=0){
t=a%b;
a=b;
b=t;
}
return b;
}
int main()
{
long long a,b,A,B,n;
while(~scanf("%lld%lld",&a,&b)){
n=0;
if(a==b){
printf("0\n");
continue;
}
A=a/m(a,b);
B=b/m(a,b);
while(A%2==0){
A/=2;
n++;
}
while(A%3==0){
A/=3;
n++;
}
while(B%2==0){
B/=2;
n++;
}
while(B%3==0){
B/=3;
n++;
}
if(A==B)printf("%lld\n",n);
else printf ("-1\n");
}
return 0;
}
ZCMU 1980: 不存在的泳池
最新推荐文章于 2024-08-20 17:50:28 发布