from math import gcd

a,b,c,d = list(map(int, input().split()))



t = c*d//gcd(c,d)

x = (a-1) - ((a-1)//c + (a-1)//d) + (a-1)//t

y = b - (b//c + b//d) + b//t



print((y-x))
from math import gcd

a,b,c,d = list(map(int, input().split()))



s = b - ((b//c)+(b//d)) + b//((c*d)//gcd(c,d))

t = (a-1) - (((a-1)//c)+((a-1)//d)) + (a-1)//((c*d)//gcd(c,d))

print((s-t))
from math import gcd

a, b, c, d = list(map(int, input().split()))
t = c * d // gcd(c, d)
x = (a - 1) - ((a - 1) // c + (a - 1) // d) + (a - 1) // t
y = b - (b // c + b // d) + b // t
print((y - x))

from math import gcd

a, b, c, d = list(map(int, input().split()))
s = b - ((b // c) + (b // d)) + b // ((c * d) // gcd(c, d))
t = (a - 1) - (((a - 1) // c) + ((a - 1) // d)) + (a - 1) // ((c * d) // gcd(c, d))
print((s - t))

-t = c * d // gcd(c, d) -x = (a - 1) - ((a - 1) // c + (a - 1) // d) + (a - 1) // t -y = b - (b // c + b // d) + b // t -print((y - x)) +s = b - ((b // c) + (b // d)) + b // ((c * d) // gcd(c, d)) +t = (a - 1) - (((a - 1) // c) + ((a - 1) // d)) + (a - 1) // ((c * d) // gcd(c, d)) +print((s - t))