#include #include #include #include using namespace std; #define MAXN 1000000 int prime[MAXN],num; bool notprime[MAXN]; int pa[MAXN],ma[MAXN]; int pb[MAXN],mb[MAXN]; void PRIME() { int i,j; num=0; memset(notprime,false,sizeof(notprime)); for(i=2;i0;i++) { if(a%prime[i]==0) { t=0; while(a%prime[i]==0) { t++; a/=prime[i]; } pa[na]=prime[i]; ma[na++]=t; } } for(i=0;i0;i++) { if(b%prime[i]==0) { t=0; while(b%prime[i]==0) { t++; b/=prime[i]; } pb[nb]=prime[i]; mb[nb++]=t; } } int X=0,D=0; i=0;j=0; while(i