#include <bits/stdc++.h>
using namespace std;
struct abc {
  long long int pos, val;
};
bool compare(abc x1, abc x2) { return (x1.pos < x2.pos); }
const long long int N = 2e5 + 3, A = 1e6 + 3;
long long int n, k, d, b[A], a[N], c[20003], x;
string s, p;
long long int gcd(long long int a, long long int b) {
  if (b == 0) return a;
  return gcd(b, a % b);
}
long long int lcm(long long int a, long long int b) {
  return (a * b) / gcd(a, b);
}
int32_t main() {
  long long int a, b, x, y;
  cin >> a >> b >> x >> y;
  long long int z = lcm(a, b);
  cout << y / z - (x - 1) / z;
}
