#include<bits/stdc++.h>
using namespace std;
int n,a[1000005],b[1000005];
typedef long long LL;
inline LL Gcd(LL x,LL y)
{
	return y==0?x:Gcd(y,x%y);
}
int main()
{
	LL x,y;
	scanf("%lld%lld",&x,&y);
	LL d=Gcd(x,y);
	int tot=0;
	for(int i=2;1ll*i*i<=d;i++)
		if(d%i==0)
		{
			tot++;
			while(d%i==0)
				d/=i;
		}
	if(d!=1)
	tot++;
	printf("%lld",tot+1);
}