array=gets.chomp.split(" ").map(&:to_i)
a=array[0]
b=array[1]
c=array[2]
d=array[3]
c2=c
d2=d
while d2!=0 do #ユークリッドの互除法
 r=c2%d2
 c2=d2
 d2=r
end
gCD=c2
numB=b-b/c-b/d+b/(c*d/gCD)
numA=(a-1)-(a-1)/c-(a-1)/d+(a-1)/(c*d/gCD)
puts numB-numA