# coding: utf-8
A, B = gets.split.map {|e| e.to_i}
ans = []
cd = []

def factor(num)
  raise "Invalid Input. Num must be over 1" if num < 1
  result = []
  i = 2
  while i <= num do
    if num % i == 0
      result << i
      num = num / i
    else
      i += 1
    end
  end
  return result
end

# 公約数のリストを作る
al = factor(A)
bl = factor(B)
cl = (al + bl).group_by{|i| i}.reject{|k,v| v.one?}.keys
ans.push 1

# 答えのリストに足す時に互いに素であるかを検査し、その場合はリストに加える
cl.each do |e|
  ans.push e if ((ans + [e]).combination(2).map {|a,b| a.gcd b}).all? {|i| i == 1}
end

puts ans.size

