
open System
let readInt () = stdin.ReadLine() |> int
let [A; B; C; X]= List.map (fun _ -> readInt()) [1..4]
let mutable cnt = 0
for a in 0..(min A (X / 500)) do
  let res1 = X - 500 * a
  for b in 0..(min B (res1/100)) do
    let res2 = res1 - 100 * b
    if (res2 % 50 = 0) && (res2 / 50 <= C) then cnt <- cnt + 1

printfn "%d" cnt