long long bc(long long a,long long b)
{
return (a*b)/__gcd(a,b);
}
int main()
{
freopen("countnum.out","w",stdout);
long long L,R,a,b;
long long c=R-L+1;
long long x=R/a-(L-1)/a;
long long y=R/b-(L-1)/b;
long long z=R/bc(a,b)-(L-1)/bc(a,b);
#include<bits/stdc++.h>#include
using namespace std;
long long bc(long long a,long long b)
{
return (a*b)/__gcd(a,b);
}
int main()
{
freopen("countnum.inp","r",stdin);\nfreopen("countnum.out","w",stdout);\nfreopen("countnum.inp","r",stdin);
freopen("countnum.out","w",stdout);
long long L,R,a,b;
cin>>L>>R>>a>>b;cin>>L>>R>>a>>b;
long long c=R-L+1;
long long x=R/a-(L-1)/a;
long long y=R/b-(L-1)/b;
long long z=R/bc(a,b)-(L-1)/bc(a,b);
cout<<c-(x+y-z);cout<
}