#include <bits/stdc++.h>
#pragma GCC optimize("Ofast")
using namespace std;
long long gcd(long long a, long long b) { return b ? gcd(b, a % b) : a; }
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  long long l, r, t;
  long long a, b, c;
  cin >> l >> r >> t;
  cin >> a >> b >> c;
  if (r < b) {
    swap(l, a);
    swap(r, b);
    swap(t, c);
  }
  long long g = gcd(t, c);
  long long mx = 0;
  long long k;
  k = (r - b) / g;
  mx = max(mx, b + k * g - max(l, a + k * g) + 1);
  k = (r - b + g - 1) / g;
  mx = max(mx, r - max(l, a + k * g) + 1);
  cout << mx;
  return 0;
}
