You are given four integers A, B, C, and D. Find the number of integers between A and B (inclusive) that can be evenly divided by neither C nor D.

Constraints

* 1\leq A\leq B\leq 10^{18}
* 1\leq C,D\leq 10^9
* All values in input are integers.

Input

Input is given from Standard Input in the following format:


A B C D


Output

Print the number of integers between A and B (inclusive) that can be evenly divided by neither C nor D.

Examples

Input

4 9 2 3


Output

2


Input

10 40 6 8


Output

23


Input

314159265358979323 846264338327950288 419716939 937510582


Output

532105071133627368
a,b,c,d = map(int, raw_input().split(' '))

def gcd(a,b):
	#a = bk + r
	if b == 0: return a
	return gcd(b, a % b)

def lcm(a,b):
	return a*b/gcd(a,b)

# how many multiples of c among integers between a and b inclusive
def f(a,b,c):
	if a == 0:
		return b/c + 1
	return b/c  - (a-1)/c 

print b -a + 1 - f(a,b,c) - f(a,b,d) + f(a,b,lcm(c,d))