#include<bits/stdc++.h>
using namespace std;
int a[3], b[3];
int find_next(int l, int r, int target, int n){
int ans = l;
while(l <= r){
int mid = l + r >> 1;
if(target == int(n / mid)) ans = mid, l = mid + 1;
else r = mid - 1;
}
return ans;
}
long long f(int n){
int l = a[0], r = b[0];
long long ans = 0;
while(l <= r){
if(1LL * a[1] * l > n) break;
int nxt = find_next(l, r, n / l, n);
ans += 1LL * (nxt - l + 1) * min(n / l, b[1]);
ans -= 1LL * (nxt - l + 1) * (a[1] - 1);
l = nxt + 1;
}
return ans;
}
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
for(int i = 0; i < 3; ++i){
cin >> a[i] >> b[i];
}
cout << f(b[2]) - f(a[2] - 1) << '\n';
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgYVszXSwgYlszXTsKCmludCBmaW5kX25leHQoaW50IGwsIGludCByLCBpbnQgdGFyZ2V0LCBpbnQgbil7CiAgICBpbnQgYW5zID0gbDsKICAgIHdoaWxlKGwgPD0gcil7CiAgICAgICAgaW50IG1pZCA9IGwgKyByID4+IDE7CiAgICAgICAgaWYodGFyZ2V0ID09IGludChuIC8gbWlkKSkgYW5zID0gbWlkLCBsID0gbWlkICsgMTsKICAgICAgICBlbHNlIHIgPSBtaWQgLSAxOwogICAgfQogICAgcmV0dXJuIGFuczsKfQoKbG9uZyBsb25nIGYoaW50IG4pewogICAgaW50IGwgPSBhWzBdLCByID0gYlswXTsKCiAgICBsb25nIGxvbmcgYW5zID0gMDsKICAgIHdoaWxlKGwgPD0gcil7CiAgICAgICAgaWYoMUxMICogYVsxXSAqIGwgPiBuKSBicmVhazsKICAgICAgICBpbnQgbnh0ID0gZmluZF9uZXh0KGwsIHIsIG4gLyBsLCBuKTsKICAgICAgICBhbnMgKz0gMUxMICogKG54dCAtIGwgKyAxKSAqIG1pbihuIC8gbCwgYlsxXSk7CiAgICAgICAgYW5zIC09IDFMTCAqIChueHQgLSBsICsgMSkgKiAoYVsxXSAtIDEpOwogICAgICAgIGwgPSBueHQgKyAxOwogICAgfQoKICAgIHJldHVybiBhbnM7Cn0KCmludCBtYWluKCl7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApOwogICAgY2luLnRpZSgwKTsKCiAgICBmb3IoaW50IGkgPSAwOyBpIDwgMzsgKytpKXsKICAgICAgICBjaW4gPj4gYVtpXSA+PiBiW2ldOwogICAgfQoKICAgIGNvdXQgPDwgZihiWzJdKSAtIGYoYVsyXSAtIDEpIDw8ICdcbic7CgogICAgcmV0dXJuIDA7Cn0K