output_description: Print the number of ways to select coins.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      A
      B
      C
      X
attempt: # Coins
  
  """
  問題：
      あなたは500円玉をA枚、100円玉をB枚、50円玉をC枚持っています。
      これらの硬貨の中から何枚かを選び、合計金額をちょうどX円にする方法は何通りありますか。
  
      同じ種類の硬貨同士は区別できない。
      2通りの硬貨の選び方は、ある種類の硬貨についてその硬貨を選ぶ枚数が異なる時区別される。
  
  制約：
      0 <= A,B,C <= 50
      A+B+C >= 1
      50 <= X <= 20,000
      A, B, C は整数である。
      Xは50の倍数である。
  
  入力：
      入力は以下の形式で標準入力から与えられる。
  
      A
      B
      C
      X
  
  出力：
      硬貨を選ぶ方法の個数を出力せよ。
  """
  
  # for文を3周回してゴリゴリとく
  
  # 入力した値を変数に入れる
  five = int(input())  # 500
  hundred = int(input())  # 100
  fifty = int(input())  # 50
  total = int(input())  # 求める合計
  
  # 何枚使用しているかカウントする。
  used50 = 0
  used100 = 0
  used500 = 0
  usedTotal = 0
  ways = 0
  
  while used500 <= five:
      while used100 <= hundred:
          while used50 <= fifty:
              usedTotal = 50 * used50 + 100 * used100 + 500 * used500
              #            print(usedTotal)
              if total == usedTotal:
                  ways += 1
              used50 += 1
          used50 = 0
          used100 += 1
      #        print("a")
      used50 = 0
      used100 = 0
      used500 += 1
  
  # 2
  # 2
  # 2
  # 100
  
  print(ways)
  
problem_description: Statement
  
  You have A 500-yen coins, B 100-yen coins and C 50-yen coins (yen is the
  currency of Japan). In how many ways can we select some of these coins so that
  they are X yen in total?
  
  Coins of the same kind cannot be distinguished. Two ways to select coins are
  distinguished when, for some kind of coin, the numbers of that coin are
  different.
samples: [{"input": "2\n    2\n    2\n    100", "output": "2\n    \n\nThere are two ways to satisfy the condition:\n\n  * Select zero 500-yen coins, one 100-yen coin and zero 50-yen coins.\n  * Select zero 500-yen coins, zero 100-yen coins and two 50-yen coins.\n\n* * *"}, {"input": "5\n    1\n    0\n    150", "output": "0\n    \n\nNote that the total must be exactly X yen.\n\n* * *"}, {"input": "30\n    40\n    50\n    6000", "output": "213"}]