import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		/*String a = s.next();
		String b = s.next();
		*/
		int a = s.nextInt();
		int b = s.nextInt();
		int c = s.nextInt();
		int x = s.nextInt();
		int count = 0;
		int amount = 0;

		for (int i = 0; i < a + 1; i++) {
			for (int j = 0; j < b + 1; j++) {
				for (int k = 0; k < c + 1; k++) {
					amount = 500 * i + 100 * j + 50 * k;
					if (x == amount) {
						count++;
					}
				}
			}
		}
		System.out.println(count);

	}
} import java.util.Scanner; Scanner java.util public class Main {

	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		/*String a = s.next();
		String b = s.next();
		*/
		int a = s.nextInt();
		int b = s.nextInt();
		int c = s.nextInt();
		int x = s.nextInt();
		int count = 0;
		int amount = 0;

		for (int i = 0; i < a + 1; i++) {
			for (int j = 0; j < b + 1; j++) {
				for (int k = 0; k < c + 1; k++) {
					amount = 500 * i + 100 * j + 50 * k;
					if (x == amount) {
						count++;
					}
				}
			}
		}
		System.out.println(count);

	}
} Main public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		/*String a = s.next();
		String b = s.next();
		*/
		int a = s.nextInt();
		int b = s.nextInt();
		int c = s.nextInt();
		int x = s.nextInt();
		int count = 0;
		int amount = 0;

		for (int i = 0; i < a + 1; i++) {
			for (int j = 0; j < b + 1; j++) {
				for (int k = 0; k < c + 1; k++) {
					amount = 500 * i + 100 * j + 50 * k;
					if (x == amount) {
						count++;
					}
				}
			}
		}
		System.out.println(count);

	} main {
		Scanner s = new Scanner(System.in);
		/*String a = s.next();
		String b = s.next();
		*/
		int a = s.nextInt();
		int b = s.nextInt();
		int c = s.nextInt();
		int x = s.nextInt();
		int count = 0;
		int amount = 0;

		for (int i = 0; i < a + 1; i++) {
			for (int j = 0; j < b + 1; j++) {
				for (int k = 0; k < c + 1; k++) {
					amount = 500 * i + 100 * j + 50 * k;
					if (x == amount) {
						count++;
					}
				}
			}
		}
		System.out.println(count);

	} Scanner s = new Scanner(System.in); s new Scanner(System.in) int a = s.nextInt(); a s.nextInt() s.nextInt s int b = s.nextInt(); b s.nextInt() s.nextInt s int c = s.nextInt(); c s.nextInt() s.nextInt s int x = s.nextInt(); x s.nextInt() s.nextInt s int count = 0; count 0 int amount = 0; amount 0 for (int i = 0; i < a + 1; i++) {
			for (int j = 0; j < b + 1; j++) {
				for (int k = 0; k < c + 1; k++) {
					amount = 500 * i + 100 * j + 50 * k;
					if (x == amount) {
						count++;
					}
				}
			}
		} int i = 0; int i = 0; i 0 i < a + 1 i a + 1 a 1 i++ i++ i {
			for (int j = 0; j < b + 1; j++) {
				for (int k = 0; k < c + 1; k++) {
					amount = 500 * i + 100 * j + 50 * k;
					if (x == amount) {
						count++;
					}
				}
			}
		} {
			for (int j = 0; j < b + 1; j++) {
				for (int k = 0; k < c + 1; k++) {
					amount = 500 * i + 100 * j + 50 * k;
					if (x == amount) {
						count++;
					}
				}
			}
		} for (int j = 0; j < b + 1; j++) {
				for (int k = 0; k < c + 1; k++) {
					amount = 500 * i + 100 * j + 50 * k;
					if (x == amount) {
						count++;
					}
				}
			} int j = 0; int j = 0; j 0 j < b + 1 j b + 1 b 1 j++ j++ j {
				for (int k = 0; k < c + 1; k++) {
					amount = 500 * i + 100 * j + 50 * k;
					if (x == amount) {
						count++;
					}
				}
			} {
				for (int k = 0; k < c + 1; k++) {
					amount = 500 * i + 100 * j + 50 * k;
					if (x == amount) {
						count++;
					}
				}
			} for (int k = 0; k < c + 1; k++) {
					amount = 500 * i + 100 * j + 50 * k;
					if (x == amount) {
						count++;
					}
				} int k = 0; int k = 0; k 0 k < c + 1 k c + 1 c 1 k++ k++ k {
					amount = 500 * i + 100 * j + 50 * k;
					if (x == amount) {
						count++;
					}
				} {
					amount = 500 * i + 100 * j + 50 * k;
					if (x == amount) {
						count++;
					}
				} amount = 500 * i + 100 * j + 50 * k amount 500 * i + 100 * j + 50 * k 500 * i + 100 * j + 50 * k 500 * i 500 i 100 * j 100 j 50 * k 50 k if (x == amount) {
						count++;
					} x == amount x amount {
						count++;
					} count++ count System.out.println(count) System.out.println System.out System System.out count String[] args args public class Main {

	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		/*String a = s.next();
		String b = s.next();
		*/
		int a = s.nextInt();
		int b = s.nextInt();
		int c = s.nextInt();
		int x = s.nextInt();
		int count = 0;
		int amount = 0;

		for (int i = 0; i < a + 1; i++) {
			for (int j = 0; j < b + 1; j++) {
				for (int k = 0; k < c + 1; k++) {
					amount = 500 * i + 100 * j + 50 * k;
					if (x == amount) {
						count++;
					}
				}
			}
		}
		System.out.println(count);

	}
} public class Main {

	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		/*String a = s.next();
		String b = s.next();
		*/
		int a = s.nextInt();
		int b = s.nextInt();
		int c = s.nextInt();
		int x = s.nextInt();
		int count = 0;
		int amount = 0;

		for (int i = 0; i < a + 1; i++) {
			for (int j = 0; j < b + 1; j++) {
				for (int k = 0; k < c + 1; k++) {
					amount = 500 * i + 100 * j + 50 * k;
					if (x == amount) {
						count++;
					}
				}
			}
		}
		System.out.println(count);

	}
} Main
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		/*String a = s.next();
		String b = s.next();
		*/
		int a = s.nextInt();
		int b = s.nextInt();
		int c = s.nextInt();
		int x = s.nextInt();
		int count = 0;
		int amount = 0;

		for (int i = 0; i < a + 1; i++) {
			for (int j = 0; j < b + 1; j++) {
				for (int k = 0; k < c + 1; k++) {
					amount = 500 * i + 100 * j + 50 * k;
					if (x == amount) {
						count++;
					}
				}
			}
		}
		System.out.println(count);

	}
}