#include <bits/stdc++.h>
using namespace std;
long long k, l;
long long Extend_GCD(long long a, long long b, long long& x, long long& y) {
  if (b == 0) {
    x = 1, y = 0;
    return a;
  }
  long long r = Extend_GCD(b, a % b, y, x);
  y -= a / b * x;
  return r;
}
void minial(long long& x, long long& y, long long k1, long long k2) {
  long long t = x / k1;
  x -= t * k1, y += t * k2;
  if (x < 0) {
    x += k1, y -= k2;
  }
  if (y > 0) {
    t = y / k2;
    x += t * k1, y -= t * k2;
    if (y > 0) {
      x += k1, y -= k2;
    }
  }
}
long long a1, b1, a2, b2, L, R;
long long for_ans(long long X, long long lcm) {
  if (X > R) return 0;
  long long ans = 0;
  if (R >= X) ans += (R - X) / lcm + 1;
  if (L - 1 >= X) ans -= (L - 1 - X) / lcm + 1;
  return ans;
}
int main() {
  ios::sync_with_stdio(false);
  while (cin >> a1 >> b1 >> a2 >> b2 >> L >> R) {
    long long d = Extend_GCD(a1, a2, k, l);
    long long c = b2 - b1;
    if (c % d == 0) {
      k = k * c / d;
      l = l * c / d;
      minial(k, l, a2 / d, a1 / d);
      long long lcm = a1 / d * a2;
      long long X = a1 * k + b1;
      cout << for_ans(X, lcm) << endl;
    } else
      cout << 0 << endl;
  }
}
