//输入x,y,要求输出一组数p,q以x为最大公约数,y为最小公倍数
#include <bits/stdc++.h>
using namespace std;
int x, y;
bool gys(int a, int b) {
int c;
while (a % b != 0) {
c = a % b;
a = b;
b = c;
//辗转相除法:c=a%b不能整除,则令a=b,b=c重复循环直到a%b==0,返回b值,b为最大公约数
}
if (x == c)
//判断x是否为a,b的最大公约数
return true;
else
return false;
}
bool gbs(int a, int b) {
//最大公倍数=两数乘积除以最大公约数
if ( y == (a * b) / x)
return true;
else
return false;
}
int main() {
long long sum = 0;
cin >> x >> y;
for (int i = x; i <= y; i++) {
for (int j = i + 1; j <= y; j++) {
//这组数肯定大于等于x,小于等于y
if (gys(i, j) && gbs(i, j))
sum += 2;
}
}
cout << sum << endl;
return 0;
}