#include <stdio.h>
#include <iostream>
#include <cstdlib>

using namespace std ;

int main()
{
    
    int p , q , r , i1 , i2 , i3 ;
    unsigned long long int L , R ; 
    i1 = 0 ;
    i2 = 0 ;
    i3 = 0 ;
    unsigned long long int m = 0 ;
    unsigned long long int konacni = 0 ;
    int proslistreak = 0 ;
    
    cin >> p >> q >> r >> L >> R ;
    bool TP = true ;
    bool PC = false ;
    bool QC = false ;
    bool RC = false ;
    /*cout << p << endl ;
    cout << q << endl ;
    cout << r << endl ;
    cout << L << endl ;
    cout << R << endl ;*/
    
    if ( L % p != 0 ) { i1 = 1 ; }
    if ( L % q != 0 ) { i2 = 1 ; }
    if ( L % r != 0 ) { i3 = 1 ; }
    
    if ( L/p + L/q + L/r + i1 + i2 + i3 > L ) { TP = false ; }
    else { konacni = 1 ; }
    
    for ( unsigned long long int i = L + 1 ; i <= R ; i++ )
    {
        if ( TP == true ) { proslistreak++ ; if (proslistreak > 504 ) { 
            konacni += ((1+R)-i) ; break ; } 
            
        }
        else { proslistreak = 0 ; }
        if ( TP == true && i % p != p-1 && i % q != q-1 && i % r != r-1 ) { konacni++ ; }
        else 
        {
            
            /*if ( i % p != 0 ) { i1 = 1 ; } else { i1 = 0 ; }
            if ( i % q != 0 ) { i2 = 1 ; } else { i2 = 0 ; }
            if ( i % r != 0 ) { i3 = 1 ; } else { i3 = 0 ; }*/
        
            if ( TP == false ) { if ( i/p + i/q + i/r + m <= L ) { TP = true ; konacni++ ; } }
            else { 
                if ( i % p == p-1 ) { m++ ; } if ( i % q == q-1 ) { m++ ; } if ( i % r == r-1 ) { m++ ; }
                if ( i/p + i/q + i/r + m <= L ) { TP = true ; konacni++ ; }
            }
        }
        
        
    }
    
    cout << konacni ; 
    
    return 0;
    
}