#include <bits/stdc++.h>

using namespace std;

long long visak(long long a, long long b, long long c){
    long long v = a*b*c - a*b - a*c - b*c;
    long long t1 = ceil(v*1.0 / a);
    long long t2 = ceil(v*1.0 / b);
    long long t3 = ceil(v*1.0 / c);
    if(v < 0)
        return -1;
    if(v == 0)
        return 0;
    return max(max(t1, t2), t3);


}

long long brojSadrzilaca(long long l, long long d, long long broj){
    return d / broj - ((l - 1) / broj);
}

int nzd(int a, int b){
    if (a == 0)
        return b;
    return nzd(b % a, a);
}

int nzs(int a, int b){
    return (a*b)/nzd(a, b);
}

int main()
{
    long long a, b, c;
    long long l, d;
    cin >> a >> b >> c >> l >> d;
    long long v = visak(a, b, c);
    long long resenje = 0;
    if(v == 0){
        resenje = brojSadrzilaca(l, d, nzs(nzs(a, b), c));
    }
    else if(v == 1){
        long long ab = nzs(a, b);
        long long ac = nzs(a, c);
        long long bc = nzs(b, c);
        resenje = resenje + brojSadrzilaca(l, d, ab) + brojSadrzilaca(l, d, ac) + brojSadrzilaca(l, d, bc) - brojSadrzilaca(l, d, nzs(ab, ac)) - brojSadrzilaca(l, d, nzs(ab, bc)) - brojSadrzilaca(l, d, nzs(bc, ac));
    }

    else if(v == 2){
        resenje = resenje + brojSadrzilaca(l, d, a) + brojSadrzilaca(l, d, c) + brojSadrzilaca(l, d, b) - brojSadrzilaca(l, d, nzs(a, b)) - brojSadrzilaca(l, d, nzs(a, c)) - brojSadrzilaca(l, d, nzs(c, b));
    }
    else if(v < 0){
        resenje = 0;
    }
    else{
        if(l <= 2)
            resenje = d - l - (2 - l);
        else
            resenje = d - l + 1;
    }
    cout << resenje;
}