// // BUGSBUNNY
// // IIT ROORKEE
// //                               _,add8ba,
// //                             ,d888888888b,
// //                            d8888888888888b                        _,ad8ba,_
// //                           d888888888888888)                     ,d888888888b,
// //                           I8888888888888888 _________          ,8888888888888b
// //                 __________`Y88888888888888P"""""""""""baaa,__ ,888888888888888,
// //             ,adP"""""""""""9888888888P""^                 ^""Y8888888888888888I
// //          ,a8"^           ,d888P"888P^                           ^"Y8888888888P'
// //        ,a8^            ,d8888'                                     ^Y8888888P'
// //       a88'           ,d8888P'                                        I88P"^
// //     ,d88'           d88888P'                                          "b,
// //    ,d88'           d888888'                                            `b,
// //   ,d88'           d888888I                                              `b,
// //   d88I           ,8888888'            ___                                `b,
// //  ,888'           d8888888          ,d88888b,              ____            `b,
// //  d888           ,8888888I         d88888888b,           ,d8888b,           `b
// // ,8888           I8888888I        d8888888888I          ,88888888b           8,
// // I8888           88888888b       d88888888888'          8888888888b          8I
// // d8886           888888888       Y888888888P'           Y8888888888,        ,8b
// // 88888b          I88888888b      `Y8888888^             `Y888888888I        d88,
// // Y88888b         `888888888b,      `""""^                `Y8888888P'       d888I
// // `888888b         88888888888b,                           `Y8888P^        d88888
// //  Y888888b       ,8888888888888ba,_          _______        `""^        ,d888888
// //  I8888888b,    ,888888888888888888ba,_     d88888888b               ,ad8888888I
// //  `888888888b,  I8888888888888888888888b,    ^"Y888P"^      ____.,ad88888888888I
// //   88888888888b,`888888888888888888888888b,     ""      ad888888888888888888888'
// //   8888888888888698888888888888888888888888b_,ad88ba,_,d88888888888888888888888
// //   88888888888888888888888888888888888888888b,`"""^ d8888888888888888888888888I
// //   8888888888888888888888888888888888888888888baaad888888888888888888888888888'
// //   Y8888888888888888888888888888888888888888888888888888888888888888888888888P
// //   I888888888888888888888888888888888888888888888P^  ^Y8888888888888888888888'
// //   `Y88888888888888888P88888888888888888888888888'     ^88888888888888888888I
// //    `Y8888888888888888 `8888888888888888888888888       8888888888888888888P'
// //     `Y888888888888888  `888888888888888888888888,     ,888888888888888888P'
// //      `Y88888888888888b  `88888888888888888888888I     I888888888888888888'
// //        "Y8888888888888b  `8888888888888888888888I     I88888888888888888'
// //          "Y88888888888P   `888888888888888888888b     d8888888888888888'
// //             ^""""""""^     `Y88888888888888888888,    888888888888888P'
// //                              "8888888888888888888b,   Y888888888888P^
// //                               `Y888888888888888888b   `Y8888888P"^
// //                                 "Y8888888888888888P     `""""^
// //                                   `"YY88888888888P'
// //                                        ^""""""""'
// #include<bits/stdc++.h>
// using namespace std;
// #define fast ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL); 
// #define ll long long
// #define int long long
// #define ld long double
// #define endl '\n'
// #define vi vector<int>
// #define vvi vector<vi>
// #define vs vector<string>
// #define vl vector<long long>
// #define vpii vector<pii>
// #define vpipii vector<pipii>
// #define vb vector<bool>
// #define pb push_back
// #define pob pop_back
// #define gcd __gcd
// #define mp make_pair
// #define pii pair<int,int>
// #define pipii pair<int,pii>
// #define pll pair<long long,long long>
// #define pld pair<long double,long double>
// #define mod 1000000007 
// #define rep(i,n) for (ll i = 0; i < n; i++)
// #define repp(i,a,b) for(ll i = a ; i<b ; i++)
// #define reppr(i,a,b) for(ll i = a-1 ; i>=b ; i--)
// #define repr(i,n) for (ll i = n - 1; i >= 0; i--)
// #define ff first
// #define ss second
// #define pc putchar_unlocked
// #define gc getchar_unlocked
// #define inf 1000000000000000000
// #define infn -9223372036854775807
// #define pi 3.14159265358979323846
// #define eps 0.0000000001
// #define sp << " " << 
// #define setprecision0 cout << fixed << setprecision(0);
// #define setprecision10 cout << fixed << setprecision(10);
// #define all(n) n.begin(),n.end()

// int32_t main()
// {
// 	fast;
// 	//Input
// 	int a,b; cin >> a >> b;
// 	int g = gcd(a,b) , n = g , ans = 0;
// 	//Number of prime factors
// 	for(int i=2;i<=sqrt(g);i++)
// 		if(n%i==0)
// 		{
// 			ans++;
// 			while(n%i==0)
// 				n/=i;
// 		} 	
// 	if(n!=1)
// 		ans++;
// 	//Output
// 	cout << ans + 1 << endl;
// }

#include <bits/stdc++.h>
using namespace std;
typedef long long int ll;
vector<ll> common(ll n)
{    
    vector<ll> v;
    for(ll i=2 ; i<=pow(n,0.5) ; i++)
    {
        if(n%i==0)
            v.push_back(i);
        if((n%i)==0 && (i*i)!=n)
            v.push_back(n/i);
    }
    if(n!=1 && v.size()==0)
    	v.push_back(n);
    return v;
}
int main() {
	ios_base::sync_with_stdio(false);
    cin.tie(NULL);
	
	ll a,b,i,j,count = 0 ;
	cin >> a >> b;
	vector<ll>L = common(__gcd(a,b));
	sort(L.begin(),L.end());
	for(i=0;i<L.size();i++)
	    for(j=0;j<L.size();j++)
	        if(i<j && L[i]!=1 && L[j]!=1 && __gcd(L[i],L[j])!=1)
	            L[j]=1;
	for(i=0;i<L.size();i++)
	    if(L[i]!=1)
	        count++;

	cout << count+1;
}

Measured memory_bytes: 384