#include<bits/stdc++.h>
using namespace std;
int gcd( int a,int b){
int h;
for(h = a<b?a:b; h >= 1; h--){
if((a%h == 0) && (b%h == 0))
break;
}
return h;
}
int main() {
int n1, n2, lcm, hcf, cnt = 0;
cin >> n1 >> n2 >> hcf >> lcm;
for (int i = n1; i <= n2; i++) {
//checking if the number divides the lcm completely
if(lcm%i == 0){
int a = hcf * lcm / i;// its other multiplier
//checking if their gcd is equal to given hcf
if (a <= n2 && a >= n1) {
int b = gcd(a, i);//finding their gcd
if(b == hcf){
int c = (i*a) / b;//finding the lcm by a*b = lcm*hcf formula and
//checking
if(c == lcm){
cnt++;
}
}
}
}
}
cout<<cnt<<endl;
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKICAKaW50IGdjZCggaW50IGEsaW50IGIpewogICAgaW50IGg7CiAgICBmb3IoaCA9IGE8Yj9hOmI7IGggPj0gMTsgaC0tKXsKICAgICAgICBpZigoYSVoID09IDApICYmIChiJWggPT0gMCkpCiAgICAgICAgICAgIGJyZWFrOwogICAgfQogICAgCiAgICByZXR1cm4gaDsKfQoKaW50IG1haW4oKSB7CiAgICBpbnQgbjEsIG4yLCBsY20sIGhjZiwgY250ID0gMDsKICAgIGNpbiA+PiBuMSA+PiBuMiA+PiBoY2YgPj4gbGNtOwogICAgCiAgICBmb3IgKGludCBpID0gbjE7IGkgPD0gbjI7IGkrKykgewogICAgICAgIC8vY2hlY2tpbmcgaWYgdGhlIG51bWJlciBkaXZpZGVzIHRoZSBsY20gY29tcGxldGVseSAgCiAgICAgICAgaWYobGNtJWkgPT0gMCl7CiAgICAgICAgICAgIGludCBhID0gaGNmICogbGNtIC8gaTsvLyBpdHMgb3RoZXIgbXVsdGlwbGllcgogICAgICAgICAgICAKICAgICAgICAgICAgLy9jaGVja2luZyBpZiB0aGVpciBnY2QgaXMgZXF1YWwgdG8gZ2l2ZW4gaGNmCiAgICAgICAgICAgIGlmIChhIDw9IG4yICYmIGEgPj0gbjEpIHsKICAgICAgICAgICAgICAgIGludCBiID0gZ2NkKGEsIGkpOy8vZmluZGluZyB0aGVpciBnY2QKICAgICAgICAgICAgICAgIGlmKGIgPT0gaGNmKXsKICAgICAgICAgICAgICAgICAgICBpbnQgYyA9IChpKmEpIC8gYjsvL2ZpbmRpbmcgdGhlIGxjbSBieSBhKmIgPSBsY20qaGNmIGZvcm11bGEgYW5kIAogICAgICAgICAgICAgICAgICAgIC8vY2hlY2tpbmcKICAgICAgICAgICAgICAgICAgICBpZihjID09IGxjbSl7CiAgICAgICAgICAgICAgICAgICAgICAgIGNudCsrOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIAogICAgY291dDw8Y250PDxlbmRsOwogICAgcmV0dXJuIDA7Cn0KCgo=