#include <bits/stdc++.h>
using namespace std;
const int INF = 2e9;
long long gcd(long long a, long long b) {
  while (b) {
    a %= b;
    swap(a, b);
  }
  return a;
}
int main() {
  long long l, r, x, y;
  cin >> l >> r >> x >> y;
  long long d = 1;
  long long res = 0;
  map<int, int> m;
  while (d * d <= y) {
    if (y % d == 0) {
      if (!m[min(y / d, d * x)] && d * x >= l && d * x <= r && y / d >= l &&
          y / d <= r && gcd(d * x, y / d) == x) {
        res++;
        if (d * x != y / d) res++;
        m[min(y / d, d * x)]++;
      }
    }
    d++;
  }
  cout << res << endl;
}
