import Control.Monad
import Control.Applicative
import Data.List
import qualified Data.Map as Map
import Data.Array
strToInt s = (read :: String -> Int) s

main = do

a <- readLn :: IO Int
b <- readLn :: IO Int
c <- readLn :: IO Int
w <- readLn :: IO Int

let ans = [(x,y,z)|x<-[0..a],y<-[0..b],z<-[0..c] , 500*x + 100*y + 50*z ==w]

print $  length ans