#include <iostream>
#include <stdio.h>
#include <algorithm>
#include <math.h>
#include <string>
#include <string.h>
#include <vector>
#include <queue>
#include <stack>
#include <sstream>
#include <climits>
using namespace std;
//1493
int gcd(int a,int b){
return (b==0)?a:gcd(b,a%b); //若b=0,则a为最大公约数
}
int a,b;
int main(){
// freopen("input.txt","r",stdin);
while(scanf("%d%d",&a,&b)!=EOF){
if(a<b) swap(a,b);
int t=gcd(a,b);
int i,cnt=0;
for(i=1;i*i<t;i++){
if(t%i==0)
cnt+=2;
}
if(i*i==t) cnt+=1;
printf("%d\n",cnt);
}
return 0;
}
/**************************************************************
Problem: 1493
User: cust123
Language: C++
Result: Accepted
Time:10 ms
Memory:1520 kb
****************************************************************/
04-13
04-13
04-13
04-13