import java.util.Scanner;

class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		int a = sc.nextInt();
		int b = sc.nextInt();
		int c = sc.nextInt();
		int x = sc.nextInt();
		int ans = 0;
		for (int i = 0; i <= a; i++) {
			for (int j = 0; j <= b; j++) {
				int charge = x - i * 500 - j * 100;
				if (charge / 50 <= c && charge >= 0)
					ans++;
			}
		}
		System.out.println(ans);

	}
} import java.util.Scanner; Scanner java.util class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		int a = sc.nextInt();
		int b = sc.nextInt();
		int c = sc.nextInt();
		int x = sc.nextInt();
		int ans = 0;
		for (int i = 0; i <= a; i++) {
			for (int j = 0; j <= b; j++) {
				int charge = x - i * 500 - j * 100;
				if (charge / 50 <= c && charge >= 0)
					ans++;
			}
		}
		System.out.println(ans);

	}
} Main public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		int a = sc.nextInt();
		int b = sc.nextInt();
		int c = sc.nextInt();
		int x = sc.nextInt();
		int ans = 0;
		for (int i = 0; i <= a; i++) {
			for (int j = 0; j <= b; j++) {
				int charge = x - i * 500 - j * 100;
				if (charge / 50 <= c && charge >= 0)
					ans++;
			}
		}
		System.out.println(ans);

	} main {
		Scanner sc = new Scanner(System.in);

		int a = sc.nextInt();
		int b = sc.nextInt();
		int c = sc.nextInt();
		int x = sc.nextInt();
		int ans = 0;
		for (int i = 0; i <= a; i++) {
			for (int j = 0; j <= b; j++) {
				int charge = x - i * 500 - j * 100;
				if (charge / 50 <= c && charge >= 0)
					ans++;
			}
		}
		System.out.println(ans);

	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int a = sc.nextInt(); a sc.nextInt() sc.nextInt sc int b = sc.nextInt(); b sc.nextInt() sc.nextInt sc int c = sc.nextInt(); c sc.nextInt() sc.nextInt sc int x = sc.nextInt(); x sc.nextInt() sc.nextInt sc int ans = 0; ans 0 for (int i = 0; i <= a; i++) {
			for (int j = 0; j <= b; j++) {
				int charge = x - i * 500 - j * 100;
				if (charge / 50 <= c && charge >= 0)
					ans++;
			}
		} int i = 0; int i = 0; i 0 i <= a i a i++ i++ i {
			for (int j = 0; j <= b; j++) {
				int charge = x - i * 500 - j * 100;
				if (charge / 50 <= c && charge >= 0)
					ans++;
			}
		} {
			for (int j = 0; j <= b; j++) {
				int charge = x - i * 500 - j * 100;
				if (charge / 50 <= c && charge >= 0)
					ans++;
			}
		} for (int j = 0; j <= b; j++) {
				int charge = x - i * 500 - j * 100;
				if (charge / 50 <= c && charge >= 0)
					ans++;
			} int j = 0; int j = 0; j 0 j <= b j b j++ j++ j {
				int charge = x - i * 500 - j * 100;
				if (charge / 50 <= c && charge >= 0)
					ans++;
			} {
				int charge = x - i * 500 - j * 100;
				if (charge / 50 <= c && charge >= 0)
					ans++;
			} int charge = x - i * 500 - j * 100; charge x - i * 500 - j * 100 x - i * 500 - j * 100 x i * 500 i 500 j * 100 j 100 if (charge / 50 <= c && charge >= 0)
					ans++; charge / 50 <= c && charge >= 0 charge / 50 <= c charge / 50 charge 50 c charge >= 0 charge 0 ans++ ans System.out.println(ans) System.out.println System.out System System.out ans String[] args args
import java.util.Scanner;

class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		int a = sc.nextInt();
		int b = sc.nextInt();
		int c = sc.nextInt();
		int x = sc.nextInt();
		int ans = 0;
		for (int i = 0; i <= a; i++) {
			for (int j = 0; j <= b; j++) {
				int charge = x - i * 500 - j * 100;
				if (charge / 50 <= c && charge >= 0)
					ans++;
			}
		}
		System.out.println(ans);

	}
}
