/*#include <bits/stdc++.h>

using namespace std;

int main(){
	unsigned long long p,q,r,L,R,kon=0;
	cin>>p>>q>>r>>L>>R;
	for(unsigned long long i=L;i<=R;i++){
		long double j=i;
		unsigned long long t=ceil(j/p)+ceil(j/q)+ceil(j/r);
		
		if(t<=i){
			kon++;
		}
	}
	cout<<kon;
	return 1;
}
*/

#include <bits/stdc++.h>

using namespace std;

int main(){
	unsigned long long p,q,r,L,R,kon=0;
	cin>>p>>q>>r>>L>>R;
	if(R<=100000){
		for(unsigned long long i=L;i<=R;i++){
			long double j=i;
			unsigned long long t=ceil(j/p)+ceil(j/q)+ceil(j/r);
			
			if(t<=i){
				kon++;
			}
	
		}
		cout<<kon;
	}
	else{
		string strr=to_string(R);
		if(R==pow(10,strr.length()-1)){
			unsigned long long tsto=100,predkon=0;
			while(tsto<L){
				tsto*=10;
			}
			for(unsigned long long i=L;i<=tsto;i++){
				long double j=i;
				unsigned long long t=ceil(j/p)+ceil(j/q)+ceil(j/r);
				
				if(t<=i){
					predkon++;
				}
			}
			string pred=to_string(predkon);
			string strr=to_string(R);
			string podloga="";
			for(unsigned long long i=0;i<(strr.length()-pred.length()-1);i++){
				podloga+="9";
			}
			podloga+=pred;
			cout<<podloga;
		}
		else{
			unsigned long long osnova=pow(10,strr.length()-1);
			unsigned long long tsto=100,predkon=0;
			while(tsto<L){
				tsto*=10;
			}
			for(unsigned long long i=L;i<=tsto;i++){
				long double j=i;
				unsigned long long t=ceil(j/p)+ceil(j/q)+ceil(j/r);
				
				if(t<=i){
					predkon++;
				}
			}
			string pred=to_string(predkon);
			string strr=to_string(R);
			string podloga="";
			for(unsigned long long i=0;i<(strr.length()-pred.length()-1);i++){
				podloga+="9";
			}
			podloga+=pred;
			unsigned long long rez=stoull(podloga);
			unsigned long long it=R-osnova;
			for(unsigned long long i=L;i<=it;i++){
				long double j=i;
				unsigned long long t=ceil(j/p)+ceil(j/q)+ceil(j/r);
				
				if(t<=i){
					rez++;
				}
		
			}
			cout<<rez;
		}
		
	}
	return 1;
}