#include<bits/stdc++.h>
using namespace std;
bool ktrsnt(int x){
if(x < 2) return false;
for(int i = 2; i <= sqrt(x); i++){
if(x % i == 0){
return false;
}
}
return true;
}
int main()
{
ios_base::sync_with_stdio(0);
cout.tie(0);cin.tie(0);
int n, m;
cin >> n >> m;
int tong = 0;
for(int i = 1; i <= sqrt(m); i++){
if(m % i == 0){
int a = i;
int b = m / i;
if(a == b){
if(n % a == 0 && ktrsnt(a)) tong += a;
}
else{
if(n % a == 0 && ktrsnt(a)) tong += a;
if(n % b == 0 && ktrsnt(b)) tong += b;
}
}
}
cout << tong;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmJvb2wga3Ryc250KGludCB4KXsKICAgICBpZih4IDwgMikgcmV0dXJuIGZhbHNlOwogICAgIGZvcihpbnQgaSA9IDI7IGkgPD0gc3FydCh4KTsgaSsrKXsKICAgICAgICAgIGlmKHggJSBpID09IDApewogICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICB9CiAgICAgfQogICAgIHJldHVybiB0cnVlOwp9CmludCBtYWluKCkKewogICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7CiAgICAgY291dC50aWUoMCk7Y2luLnRpZSgwKTsKCiAgICAgaW50IG4sIG07CiAgICAgY2luID4+IG4gPj4gbTsKICAgICBpbnQgdG9uZyA9IDA7CiAgICAgZm9yKGludCBpID0gMTsgaSA8PSBzcXJ0KG0pOyBpKyspewogICAgICAgICAgaWYobSAlIGkgPT0gMCl7CiAgICAgICAgICAgICAgIGludCBhID0gaTsKICAgICAgICAgICAgICAgaW50IGIgPSBtIC8gaTsKCiAgICAgICAgICAgICAgIGlmKGEgPT0gYil7CiAgICAgICAgICAgICAgICAgICAgaWYobiAlIGEgPT0gMCAmJiBrdHJzbnQoYSkpIHRvbmcgKz0gYTsKICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICBlbHNlewogICAgICAgICAgICAgICAgICAgIGlmKG4gJSBhID09IDAgJiYga3Ryc250KGEpKSB0b25nICs9IGE7CiAgICAgICAgICAgICAgICAgICAgaWYobiAlIGIgPT0gMCAmJiBrdHJzbnQoYikpIHRvbmcgKz0gYjsKICAgICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgIH0KICAgICBjb3V0IDw8IHRvbmc7Cgp9