#include<bits/stdc++.h>
using namespace std;
int dfs(int a,int b)
{
if(b==0) return a;
return dfs(b,a%b);
}
int dfs2(int a,int b)
{
for(int i=max(a,b);i<=a*b;i++)
if(i%a==0&&i%b==0)
return i;
}
int main()
{
int a,b,s=0;
cin>>a>>b;
if(dfs(a,b)==1) return cout<<0,0;
for(int i=max(a,b);i>=1;i--)
{
if(max(max(a,b),i)%min(max(a,b),i)!=0) continue;
for(int j=min(a,b);j<=a*b/2;j++)
{
if(dfs(i,j)==a&&dfs2(j,i)==b)
{
s++;
}
}
}
cout<<s;
return 0;
}
代码贴上