import java.util.*;
public class Main{
  public static void main(String[] args){
    Scanner sc =new Scanner(System.in);
    long A = sc.nextLong();
    long B =sc.nextLong();
    long C =sc.nextLong();
    long D =sc.nextLong();
    long E =(A-1)/C;long F =B/C;
    long G =(A-1)/D;long H =B/D;
    long I =C*D;
    long s =C%D;
    while(s!=0){
      s=C%D;
      C=D;
      D=s;}
    long J =I/C;
    long K =(A-1)/J;long L =B/J;
    long ans =B-A+1-F+E+G-H+L-K;
    System.out.println(ans);
  }
}
/tmp/hf-datasets-cache/medium/datasets/42704881117311-config-parquet-and-info-qiankunmu-Project_CodeNet-896c9d36/hub/datasets--qiankunmu--Project_CodeNet_Python800_and_Java250/snapshots/c899fde44a77ba1cc14973ed3de064e4ff3aadc7/Project_CodeNet_Java250.tar.gz