#include<iostream>
using namespace std;
const int N = 1e5 + 10;
int a[N], n, m, idx, res;
int gcd(int x, int y)
{
return y == 0 ? x : gcd(y, x % y);
}
int getMib(int x, int y)
{
int i = 1;
while (i*y<=1e5) {
if (i * y % x == 0) {
return i * y;
}
i++;
}
return -1;
}
int main()
{
cin >> n >> m;
int i = 1;
while (n*i <= m) {
a[++idx] = n * i;
i++;
}
for (int i = 1; i < idx; i++) {
for (int j = i + 1; j <= idx; j++) {
int x = a[i], y = a[j];
int gcd_ = gcd(x, y);
if (gcd_ != n) continue;
int mi = getMib(x, y);
if (mi == m) res++;
}
}
res = res + res;
cout << res << endl;
return 0;
}