output_description: Print the number of integers between A and B (inclusive) that can be evenly
  divided by neither C nor D.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      A B C D
attempt: import math
  
  
  def gcd(m, n):
      while n:
          m, n = n, m % n
      return m
  
  
  A, B, C, D = map(
      int, input().split()
  )  # A以上B以下の整数のうち、CでもDでも割り切れないものの個数
  
  CD_lcm = (C * D) / gcd(C, D)
  
  # B以下の全ての数でCで割れるものの個数hoge
  hogeBC = math.floor(B / C)
  # A-1以下の全ての数でCで割れるものの個数fuga
  fugaA1C = math.floor((A - 1) / C)
  
  # B以下の全ての数でDで割れるものの個数
  piyoBD = math.floor(B / D)
  # A-1以下の全ての数でDで割れるものの個数
  toriA1D = math.floor((A - 1) / D)
  
  # B以下の全ての数でCとDの最小公倍数で割れるものの個数
  yoshiBCD = math.floor(B / (CD_lcm))
  # A-1以下の全ての数でCとDの最小公倍数で割れるものの個数
  takaA1CD = math.floor((A - 1) / (CD_lcm))
  
  # A以上B以下の整数でCで割り切れるものの個数
  Ccan = hogeBC - fugaA1C
  # A以上B以下の整数でDで割り切れるものの個数
  Dcan = piyoBD - toriA1D
  # A以上B以下の整数でCでもDでも割り切れるものの個数
  CDcan = yoshiBCD - takaA1CD
  
  
  # A以上B以下でCでもDでも割り切れるものの個数
  count = Ccan + Dcan - CDcan
  print(B - (A - 1) - count)
  
problem_description: Statement
  
  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.
samples: [{"input": "4 9 2 3", "output": "2\n    \n\n5 and 7 satisfy the condition.\n\n* * *"}, {"input": "10 40 6 8", "output": "23\n    \n\n* * *"}, {"input": "314159265358979323 846264338327950288 419716939 937510582", "output": "532105071133627368"}]