#include <bits/stdc++.h>
using namespace std;
long long l, r, x, y, mit, kor1, kor2;
vector<long long> v;
ifstream fin("studies.in.txt");
void rek(long long i) {
  if (i < v.size()) {
    if ((kor1 * v[i]) <= r) {
      kor1 *= v[i];
      rek(i + 1);
      kor1 /= v[i];
    }
    if ((kor2 * v[i]) <= r) {
      kor2 *= v[i];
      rek(i + 1);
      kor2 /= v[i];
    }
  } else {
    if (kor1 >= l && kor2 >= l && kor1 <= r && kor2 <= r) mit++;
  }
}
int main() {
  ios::sync_with_stdio(0);
  cin >> l >> r >> x >> y;
  if (y % x) {
    cout << "0";
    return 0;
  }
  y /= x;
  for (int i = 2; i < 100000; i++) {
    mit = 0;
    while (!(y % i)) {
      mit++;
      y /= i;
    }
    if (mit) {
      long long vas = 1;
      for (int j = 0; j < mit; j++) vas *= i;
      v.push_back(vas);
    }
  }
  if (y != 1) v.push_back(y);
  mit = 0;
  kor1 = x;
  kor2 = x;
  rek(0);
  cout << mit << "\n";
}
