import math

a,b=map(int,input().split())

n=math.gcd(a,b)

cnt=1

f=2
d=n
while f*f<=n:
    if d%f==0:
        cnt+=1
        while d%f==0:
            d=d//f
    f+=1
if d!=1:
    cnt+=1

print(cnt) import math math a,b=map(int,input().split()) a map(int,input().split()) map int input().split() ().split () input split b n=math.gcd(a,b) n math.gcd(a,b) math.gcd math gcd a b cnt=1 cnt 1 f=2 f 2 d=n d n while f*f<=n:
    if d%f==0:
        cnt+=1
        while d%f==0:
            d=d//f
    f+=1 f*f<=n f*f f f n if d%f==0:
        cnt+=1
        while d%f==0:
            d=d//f
     d%f==0 d%f d f 0 cnt+=1 cnt 1 while d%f==0:
            d=d//f
     d%f==0 d%f d f 0 d=d//f d d//f d f f+=1 f 1 if d!=1:
    cnt+=1 d!=1 d 1 cnt+=1 cnt 1 print(cnt) print cnt d=d//f d//f d n=math.gcd(a,b) math.gcd(a,b) n cnt+=1 1 cnt cnt+=1 1 cnt cnt=1 1 cnt b=map(int,input().split()) map(int,input().split()) b d=n n d f=2 2 f a,b=map(int,input().split()) map(int,input().split()) a f+=1 1 f
import math

a,b=map(int,input().split())

n=math.gcd(a,b)

cnt=1

f=2
d=n
while f*f<=n:
    if d%f==0:
        cnt+=1
        while d%f==0:
            d=d//f
    f+=1
if d!=1:
    cnt+=1

print(cnt)