from math import gcd,ceil
a,b,c,d=map(int,input().split())
if c==0 or d==0:
if b>0 and a<0:
print(1)
else:
print(0)
else:
c=abs(c)
d=abs(d)
l=abs(c*d)//gcd(c,d)
ans=0
if a>0 and b>0:
ans+=(b//c)-ceil(a/c)+1
ans+=(b//d)-ceil(a/d)+1
ans-=(b//l)-ceil(a/l)+1
if b>0 and a<0:
ans+=(b//c)+abs(a)//c+1
ans+=(b//d)+abs(a)//d+1
ans-=(b//l)+abs(a)//l+1
if a<0 and b<0:
ans+=(abs(a)//c)-ceil(abs(b)/c)+1
ans+=(abs(a)//d)-ceil(abs(b)/d)+1
ans-=(abs(a)//l)-ceil(abs(b)/l)+1
if a<0 and b==0:
ans+=(abs(a)//c)+1
ans+=(abs(a)//d)+1
ans-=(abs(a)//l)+1
if a==0 and b>0:
ans+=(b//c)+1
ans+=(b//d)+1
ans-=(b//l)+1
print(ans)