#include <bits/stdc++.h>
using namespace std;
long long a1, a2, b1, b2, l, r, x, y;
long long exgcd(long long a, long long b, long long &x, long long &y) {
  if (!b) {
    x = 1;
    y = 0;
    return a;
  } else {
    long long r = exgcd(b, a % b, x, y);
    long long tmp = x;
    x = y;
    y = tmp - (a / b) * y;
    return r;
  }
}
int main() {
  scanf("%lld%lld%lld%lld%lld%lld", &a1, &b1, &a2, &b2, &l, &r);
  long long d = exgcd(a1, a2, x, y);
  if ((b2 - b1) % d) return puts("0"), 0;
  x = x * (b2 - b1) / d;
  x = (x % abs(a2 / d) + abs(a2 / d)) % abs(a2 / d);
  long long cnt = x * a1 + b1;
  long long tmp = abs(a1 * a2 / d);
  long long ans = 0;
  l = max(l, max(b1, b2));
  if (l > r) return puts("0"), 0;
  if (cnt <= r) ans += (r - cnt) / tmp + 1;
  if (cnt < l) ans -= (l - 1 - cnt) / tmp + 1;
  printf("%lld\n", ans);
  return 0;
}
