from math import *
g = gcd(*map(int,input().split()))
D = {}
n = 2

while n*n<=g:
  if g%n:
    n+=1
  else:
    g//=n
    D[n]=D.get(n,0)+1

if 1<g:
  D[g]=D.get(g,0)+1

print(len(D)+1) from math import * g = gcd(*map(int,input().split())) g gcd(*map(int,input().split())) gcd *map(int,input().split()) map(int,input().split()) map int input().split() ().split () input split D = {} D {} n = 2 n 2 while n*n<=g:
  if g%n:
    n+=1
  else:
    g//=n
    D[n]=D.get(n,0)+1 n*n<=g n*n n n g if g%n:
    n+=1
  else:
    g//=n
    D[n]=D.get(n,0)+1 g%n g n n+=1 n 1 g//=n g n D[n]=D.get(n,0)+1 D[n] D n D.get(n,0)+1 D.get(n,0) D.get D get n 0 1 if 1<g:
  D[g]=D.get(g,0)+1 1<g 1 g D[g]=D.get(g,0)+1 D[g] D g D.get(g,0)+1 D.get(g,0) D.get D get g 0 1 print(len(D)+1) print len(D)+1 len(D) len D 1 g = gcd(*map(int,input().split())) gcd(*map(int,input().split())) g D = {} {} D n = 2 2 n g//=n n g n+=1 1 n
from math import *
g = gcd(*map(int,input().split()))
D = {}
n = 2

while n*n<=g:
  if g%n:
    n+=1
  else:
    g//=n
    D[n]=D.get(n,0)+1

if 1<g:
  D[g]=D.get(g,0)+1

print(len(D)+1)