main :: IO ()
main = do
    a <- fmap read getLine
    b <- fmap read getLine
    c <- fmap read getLine
    x <- fmap read getLine
    putStrLn $ show $ fsuru a b c x

    --　まずは重ためにコードを書いてしまう。


fsuru :: Int->Int->Int->Int->Int
fsuru a b c x = if a>=0 then
                    gsuru (x - 500*a) b c + fsuru (a-1) b c x
                else 0 
                    -- a以下の全ての値でやる

gsuru :: Int -> Int-> Int->Int
gsuru x2 b c =  if b >= 0 then
                    hsuru (x2 - 100*b) c + gsuru x2 (b-1) c
                else 0
                    -- aを固定してb以下ですべてやる

hsuru :: Int -> Int -> Int
hsuru x3 c = if x3 - 50*c >0 || x3<0 then 0
             else 1
             -- ここで削りきれるならTrue 削りきれないならFalse



-- この形にすると少なくともリストは使わない
