import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int a = in.nextInt();
		int b = in.nextInt();
		int c = in.nextInt();
		int x = in.nextInt();
		int counter = 0;
		for(int i = 0, suma = 0; i <= a && suma < x; i++){
			suma = 500 * i;
			if (suma == x) { counter++; break;}
			for(int j = 0, sumb = 0; j <= b && sumb < x; j++){
				sumb = suma + 100 * j;
				if (sumb == x) { counter++; break;}
				for(int k = 0, sumc = 0; k <= c && sumc < x; k++){
					sumc = sumb + 50 * k;
					if (sumc == x) { counter++; break;}
							
				}
			}
		}
		
		System.out.println(counter++);
	}

} import java.util.Scanner; Scanner java.util public class Main {
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int a = in.nextInt();
		int b = in.nextInt();
		int c = in.nextInt();
		int x = in.nextInt();
		int counter = 0;
		for(int i = 0, suma = 0; i <= a && suma < x; i++){
			suma = 500 * i;
			if (suma == x) { counter++; break;}
			for(int j = 0, sumb = 0; j <= b && sumb < x; j++){
				sumb = suma + 100 * j;
				if (sumb == x) { counter++; break;}
				for(int k = 0, sumc = 0; k <= c && sumc < x; k++){
					sumc = sumb + 50 * k;
					if (sumc == x) { counter++; break;}
							
				}
			}
		}
		
		System.out.println(counter++);
	}

} Main public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int a = in.nextInt();
		int b = in.nextInt();
		int c = in.nextInt();
		int x = in.nextInt();
		int counter = 0;
		for(int i = 0, suma = 0; i <= a && suma < x; i++){
			suma = 500 * i;
			if (suma == x) { counter++; break;}
			for(int j = 0, sumb = 0; j <= b && sumb < x; j++){
				sumb = suma + 100 * j;
				if (sumb == x) { counter++; break;}
				for(int k = 0, sumc = 0; k <= c && sumc < x; k++){
					sumc = sumb + 50 * k;
					if (sumc == x) { counter++; break;}
							
				}
			}
		}
		
		System.out.println(counter++);
	} main {
		Scanner in = new Scanner(System.in);
		int a = in.nextInt();
		int b = in.nextInt();
		int c = in.nextInt();
		int x = in.nextInt();
		int counter = 0;
		for(int i = 0, suma = 0; i <= a && suma < x; i++){
			suma = 500 * i;
			if (suma == x) { counter++; break;}
			for(int j = 0, sumb = 0; j <= b && sumb < x; j++){
				sumb = suma + 100 * j;
				if (sumb == x) { counter++; break;}
				for(int k = 0, sumc = 0; k <= c && sumc < x; k++){
					sumc = sumb + 50 * k;
					if (sumc == x) { counter++; break;}
							
				}
			}
		}
		
		System.out.println(counter++);
	} Scanner in = new Scanner(System.in); in new Scanner(System.in) int a = in.nextInt(); a in.nextInt() in.nextInt in int b = in.nextInt(); b in.nextInt() in.nextInt in int c = in.nextInt(); c in.nextInt() in.nextInt in int x = in.nextInt(); x in.nextInt() in.nextInt in int counter = 0; counter 0 for(int i = 0, suma = 0; i <= a && suma < x; i++){
			suma = 500 * i;
			if (suma == x) { counter++; break;}
			for(int j = 0, sumb = 0; j <= b && sumb < x; j++){
				sumb = suma + 100 * j;
				if (sumb == x) { counter++; break;}
				for(int k = 0, sumc = 0; k <= c && sumc < x; k++){
					sumc = sumb + 50 * k;
					if (sumc == x) { counter++; break;}
							
				}
			}
		} int i = 0, suma = 0; int i = 0 i 0 suma = 0; suma 0 i <= a && suma < x i <= a i a suma < x suma x i++ i++ i {
			suma = 500 * i;
			if (suma == x) { counter++; break;}
			for(int j = 0, sumb = 0; j <= b && sumb < x; j++){
				sumb = suma + 100 * j;
				if (sumb == x) { counter++; break;}
				for(int k = 0, sumc = 0; k <= c && sumc < x; k++){
					sumc = sumb + 50 * k;
					if (sumc == x) { counter++; break;}
							
				}
			}
		} {
			suma = 500 * i;
			if (suma == x) { counter++; break;}
			for(int j = 0, sumb = 0; j <= b && sumb < x; j++){
				sumb = suma + 100 * j;
				if (sumb == x) { counter++; break;}
				for(int k = 0, sumc = 0; k <= c && sumc < x; k++){
					sumc = sumb + 50 * k;
					if (sumc == x) { counter++; break;}
							
				}
			}
		} suma = 500 * i suma 500 * i 500 i if (suma == x) { counter++; break;} suma == x suma x { counter++; break;} counter++ counter break; for(int j = 0, sumb = 0; j <= b && sumb < x; j++){
				sumb = suma + 100 * j;
				if (sumb == x) { counter++; break;}
				for(int k = 0, sumc = 0; k <= c && sumc < x; k++){
					sumc = sumb + 50 * k;
					if (sumc == x) { counter++; break;}
							
				}
			} int j = 0, sumb = 0; int j = 0 j 0 sumb = 0; sumb 0 j <= b && sumb < x j <= b j b sumb < x sumb x j++ j++ j {
				sumb = suma + 100 * j;
				if (sumb == x) { counter++; break;}
				for(int k = 0, sumc = 0; k <= c && sumc < x; k++){
					sumc = sumb + 50 * k;
					if (sumc == x) { counter++; break;}
							
				}
			} {
				sumb = suma + 100 * j;
				if (sumb == x) { counter++; break;}
				for(int k = 0, sumc = 0; k <= c && sumc < x; k++){
					sumc = sumb + 50 * k;
					if (sumc == x) { counter++; break;}
							
				}
			} sumb = suma + 100 * j sumb suma + 100 * j suma 100 * j 100 j if (sumb == x) { counter++; break;} sumb == x sumb x { counter++; break;} counter++ counter break; for(int k = 0, sumc = 0; k <= c && sumc < x; k++){
					sumc = sumb + 50 * k;
					if (sumc == x) { counter++; break;}
							
				} int k = 0, sumc = 0; int k = 0 k 0 sumc = 0; sumc 0 k <= c && sumc < x k <= c k c sumc < x sumc x k++ k++ k {
					sumc = sumb + 50 * k;
					if (sumc == x) { counter++; break;}
							
				} {
					sumc = sumb + 50 * k;
					if (sumc == x) { counter++; break;}
							
				} sumc = sumb + 50 * k sumc sumb + 50 * k sumb 50 * k 50 k if (sumc == x) { counter++; break;} sumc == x sumc x { counter++; break;} counter++ counter break; System.out.println(counter++) System.out.println System.out System System.out counter++ counter String[] args args public class Main {
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int a = in.nextInt();
		int b = in.nextInt();
		int c = in.nextInt();
		int x = in.nextInt();
		int counter = 0;
		for(int i = 0, suma = 0; i <= a && suma < x; i++){
			suma = 500 * i;
			if (suma == x) { counter++; break;}
			for(int j = 0, sumb = 0; j <= b && sumb < x; j++){
				sumb = suma + 100 * j;
				if (sumb == x) { counter++; break;}
				for(int k = 0, sumc = 0; k <= c && sumc < x; k++){
					sumc = sumb + 50 * k;
					if (sumc == x) { counter++; break;}
							
				}
			}
		}
		
		System.out.println(counter++);
	}

} public class Main {
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int a = in.nextInt();
		int b = in.nextInt();
		int c = in.nextInt();
		int x = in.nextInt();
		int counter = 0;
		for(int i = 0, suma = 0; i <= a && suma < x; i++){
			suma = 500 * i;
			if (suma == x) { counter++; break;}
			for(int j = 0, sumb = 0; j <= b && sumb < x; j++){
				sumb = suma + 100 * j;
				if (sumb == x) { counter++; break;}
				for(int k = 0, sumc = 0; k <= c && sumc < x; k++){
					sumc = sumb + 50 * k;
					if (sumc == x) { counter++; break;}
							
				}
			}
		}
		
		System.out.println(counter++);
	}

} Main
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int a = in.nextInt();
		int b = in.nextInt();
		int c = in.nextInt();
		int x = in.nextInt();
		int counter = 0;
		for(int i = 0, suma = 0; i <= a && suma < x; i++){
			suma = 500 * i;
			if (suma == x) { counter++; break;}
			for(int j = 0, sumb = 0; j <= b && sumb < x; j++){
				sumb = suma + 100 * j;
				if (sumb == x) { counter++; break;}
				for(int k = 0, sumc = 0; k <= c && sumc < x; k++){
					sumc = sumb + 50 * k;
					if (sumc == x) { counter++; break;}
							
				}
			}
		}
		
		System.out.println(counter++);
	}

}
