def num_comm_div(x,y):
  def ngcd(x,y):
      i=1
      while(i<=x and i<=y):
          if(x%i==0 and y%i == 0):
              gcd=i;
          i+=1
      return gcd;
  
  n = ngcd(x,y)
  result = 0
  z = int(n**0.5)
  i = 1
  while(i <= z):
    if(n % i == 0):
      result += 2 
      if(i == n/i):
        result-=1
    i+=1
  return result
def num_comm_div(x, y):
    def ngcd(x, y):
        I = 1
        while I <= x and I <= y:
            if x % I == 0 and y % I == 0:
                gcd = I
            I += 1
        return gcd
    n = ngcd(x, y)
   
    result = 0
    z = int(n ** 0.5)
    I = 1
    while I <= z:
        if n % I == 0:
            result += 2
            if I == n / I:
                result -= 1
        I += 1
    return result