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
import java.util.Scanner;

public class Main {
	public static void main(String[]args) {
		try(Scanner scan = new Scanner(System.in)){
			
			long A = scan.nextLong();
			long B = scan.nextLong();
			long C = scan.nextLong();
			long D = scan.nextLong();
			
			long bc = B/C;
			long bd = B/D;
			long bcd = B/lcm(C,D);
			
			long ac = A/C;
			long ad = A/D;
			long acd =A/lcm(C,D);
			
			long Bwari = B-bc-bd+bcd;
			long Awari = A-ac-ad+acd;
			
			if(A%C!=0&&A%D!=0) {
				System.out.println(Bwari-Awari+1);
			}else {
				System.out.println(Bwari-Awari);
			}
			
			
			
		}
		
		
	}
	
	
	
	private  static long lcm(long A,long B) {//最小公倍数
		return A*B/gcd(A,B);
	}
	
	private static long gcd(long A,long B){//最大公約数
		return B==0?A:gcd (B,A%B);
	}
		

}
