'use strict'
function Main(input) {
    let Nums = input.trim().split(' ').map(x => x*1);
  	// 2数の最大公約数gcdを求める式
  	let gcd = (a1,a2) => {
    	return a2 === 0 ? a1 : gcd(a2 , a2 % a1);
    }
    
    // 最大公約数を求める
  	let targetNum = gcd( Nums[0] , Nums[1]);
  
  	let answer = 1;
  
  	// 最大公約数を素因数分解
    for(let i = 2; i <=  Math.sqrt(targetNum); i++) {
        if(targetNum % i === 0) {
            answer++;
          	// 素因数が2乗以上の時を考慮した処理
          	while(targetNum % i === 0){
            	targetNum /= i;
            }
        }
    }
  
	if(targetNum != 0){
    	answer++;
    }
      
  	// 回答の出力
   	console.log(answer);
}


Main(require("fs").readFileSync("/dev/stdin", "utf8"));
