水题
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long a1,a2,b1,b2,sum1,sum2,s1_2,s1_3,s2_2,s2_3,ans;
while(~scanf("%lld%lld%lld%lld",&a1,&b1,&a2,&b2))
{
sum1=a1*b1;
sum2=a2*b2;
s1_2=s1_3=s2_2=s2_3=0;
for(;;)
{
if(sum1%2==0)
{
sum1/=2;
s1_2++;
}
else if(sum1%3==0)
{
sum1/=3;
s1_3++;
}
else
break;
}
for(;;)
{
if(sum2%2==0)
{
sum2/=2;
s2_2++;
}
else if(sum2%3==0)
{
sum2/=3;
s2_3++;
}
else
break;
}
if(sum1!=sum2)
{
printf("-1\n");
break;
}
ans=0;
while(s1_3>s2_3)
{
s1_3--;
s1_2++;
ans++;
}
while(s2_3>s1_3)
{
s2_3--;
s2_2++;
ans++;
}
ans+=abs(s1_2-s2_2);
printf("%lld\n",ans);
}
}