#include<bits/stdc++.h>
using namespace std;
int zd(int n,int m){//最大公因数
return n%m ? zd(m,n%m):m;
}
int zx(int n,int m){//最小公倍数
return n*m/zd(n,m);
}
int main(){
int n,m,ans=0;
cin>>n>>m;
int num=max(n,m);
for(int i = 2;i<=num;i++){
for(int j = 2;j<=num;j++){//i*j==n*m可以代替for(n*m)的双重循环,更加省时
if(i*j==n*m&&zd(i,j)==n&&zx(i,j)==m)ans++;
}
}
cout<<ans;
return 0;
}
/*
int zd(int n,int m){//最大公因数,辗转相除
int r=0;
while(m){
r=n%m;
n=m;
m=r;
}
return n;
}
*/