1 HACK
2 #include<stdio.h>
3 #include<math.h>
4 #include<string.h>
5 #include<algorithm>
6 using namespace std;
7 int cmd(int a,int b){
8 return a>b;
9 }
10 int main(){
11 __int64 T,N,M;
12 scanf("%I64d",&T);
13 __int64 fac[10010];
14 while(T--){
15 scanf("%I64d%I64d",&N,&M);
16 if(M%N!=0){
17 puts("-1");
18 continue;
19 }
20 __int64 t=0;
21 __int64 n=N;
22 for(__int64 i=2;i<=n;i++){
23 if(n%i==0){
24 fac[t++]=i;
25 }
26 }
27 n=M/N;
28 __int64 ans=0;
29 sort(fac,fac+t,cmd);
30 for(__int64 i=0;i<t;i++){
31 while(n%(fac[i])==0)n/=fac[i],ans++;
32 }
33 // for(int i=0;i<t;i++)printf("%d ",fac[i]);puts("");
34 if(n==1)printf("%I64d\n",ans);
35 else puts("-1");
36 }
37 return 0;
38 }