output_description: If it is possible to construct a Haiku by using each of the phrases once,
  print `YES` (case-sensitive). Otherwise, print `NO`.
  
  * * *
input_description: The input is given from Standard Input in the following format:
  
      
      
      A B C
attempt: H, W, A, B = map(int, input().split())
  
  total = 0
  tmp1, tmp2 = 1, 1  # 初期化
  tmp3, tmp4 = 1, 1  # 初期化
  for i in range(B, W, 1):
      conv1, conv2 = 0, 0  # 初期化
      if i == B:
          for j in range(i):
              tmp1 *= i + (H - A - 1) - j
          tmp1 %= 10**9 + 7
          for j in range(i, 0, -1):
              tmp2 *= j
          tmp2 %= 10**9 + 7
      else:
          tmp1 *= i + (H - A - 1)
          tmp1 %= 10**9 + 7
          tmp2 *= i
          tmp2 %= 10**9 + 7
      conv1 = tmp1 / tmp2
  
      if i == B:
          for j in range(W - 1 - i):
              tmp3 *= (A - 1) + (W - 1 - i) - j
          tmp3 %= 10**9 + 7
          for j in range(W - 1 - i, 0, -1):
              tmp4 *= j
          tmp4 %= 10**9 + 7
      else:
          tmp3 *= W - 1 - i + 1
          tmp3 %= 10**9 + 7
          tmp4 *= (A - 1) + (W - 1 - i) + 1
          tmp4 %= 10**9 + 7
      conv2 = tmp3 / tmp4
      total += conv1 * conv2
  print(int(total))
  
problem_description: Statement
  
  Iroha loves _Haiku_. Haiku is a short form of Japanese poetry. A Haiku
  consists of three phrases with 5, 7 and 5 syllables, in this order.
  
  To create a Haiku, Iroha has come up with three different phrases. These
  phrases have A, B and C syllables, respectively. Determine whether she can
  construct a Haiku by using each of the phrases once, in some order.
samples: [{"input": "5 5 7", "output": "YES\n    \n\nUsing three phrases of length 5, 5 and 7, it is possible to construct a Haiku.\n\n* * *"}, {"input": "7 7 5", "output": "NO"}]