A = int(eval(input()))

B = int(eval(input()))

C = int(eval(input()))

X = int(eval(input()))



ans = 0



for i in range(A+1):

    for j in range(B+1):

        for k in range(C+1):

            if 500*i+100*j+50*k == X:

                ans += 1

print(ans)
A = int(eval(input()))

B = int(eval(input()))

C = int(eval(input()))

X = int(eval(input()))



ans = 0



for i in range(A+1):

    for j in range(B+1):

        if (X - (500*i+100*j)) % 50 == 0 and X - (500*i+100*j) >= 0 and (X - (500*i+100*j)) // 50 <= C:

            ans += 1

print(ans)
A = int(eval(input()))
B = int(eval(input()))
C = int(eval(input()))
X = int(eval(input()))
ans = 0
for i in range(A + 1):
    for j in range(B + 1):
        for k in range(C + 1):
            if 500 * i + 100 * j + 50 * k == X:
                ans += 1
print(ans)

A = int(eval(input()))
B = int(eval(input()))
C = int(eval(input()))
X = int(eval(input()))
ans = 0
for i in range(A + 1):
    for j in range(B + 1):
        if (
            (X - (500 * i + 100 * j)) % 50 == 0
            and X - (500 * i + 100 * j) >= 0
            and (X - (500 * i + 100 * j)) // 50 <= C
        ):
            ans += 1
print(ans)

-        for k in range(C + 1): -            if 500 * i + 100 * j + 50 * k == X: -                ans += 1 +        if ( +            (X - (500 * i + 100 * j)) % 50 == 0 +            and X - (500 * i + 100 * j) >= 0 +            and (X - (500 * i + 100 * j)) // 50 <= C +        ): +            ans += 1