#include<iostream>
#include<math.h>
using namespace std;
int dva(int a,int b)
{
    return (b==0)?a:dva(b,a%b);
}
int jed(int a,int b)
{
    return a*b/dva(a,b);
}
main()
{
	int p,q,r;
	long long int L,R,br=0;
	scanf("%d%d%d%lld%lld",&p,&q,&r,&L,&R);
	float razlomak=(float)1/p+(float)1/q+(float)1/r;
	if(razlomak>1)
	{
		printf("0");
		return 0;
	}
	int nzs=jed(jed(p,q),r);
	int x=nzs*razlomak;
	if(nzs==x)
	{
		if(L%nzs==0)
		{
			int rez=R/nzs-L/nzs+1;
			printf("%d",rez);
			return 0;
		}
		int rez=R/nzs-L/nzs;
		printf("%d",rez);
		return 0;
	}
	if(nzs-x<3)
	{
		if(nzs-x==1)
		{
			int k=0;
	        for(long long int i=L;i<=R;i++)
	        {
	            if(i%p==0)
	                k++;
	            if(i%q==0)
	                k++;
	            if(i%r==0)
	                k++;
	            if(k>1)
	                br++;
	            k=0;
	        }
	        printf("%d",br);
	        return 0;
		}
		else
		{
	        for(long long int i=L;i<=R;i++)
	        {
	            if(i%p==0)
	            {
	                br++;
	                continue;
	            }
	            if(i%q==0)
	            {
	                br++;
	                continue;
	            }
	            if(i%r==0)
	            {
	                br++;
	                continue;
	            }
	        }
	        printf("%d",br);
	        return 0;
		}
	}
	if(nzs-x>=3)
	{
		if(L==1||L==2||L==3)
		{
			if(p==2||q==2||r==2)
			{
				long long int rez=R-3;
				printf("%lld",rez);
				return 0;
			}
			else
			{
				long long int rez=R-2;
				printf("%lld",rez);
				return 0;
			}
		}
		if(L>3)
		{
			long long int rez=R-L+1;
			printf("%lld",rez);
			return 0;
		}
	}
}