import java.util.*;
public 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 count=0;

		for(int x=0;x<=A&&x*500<=X;x++){
			for(int y=0;y<=B&&(x*500+y*100)<=X;y++){
				if(X-(x*500+y*100+C*50)<=0){
					count++;
				}
			}
		}

		// 出力
		System.out.println(count);
	}
} import java.util.*; util.* java public 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 count=0;

		for(int x=0;x<=A&&x*500<=X;x++){
			for(int y=0;y<=B&&(x*500+y*100)<=X;y++){
				if(X-(x*500+y*100+C*50)<=0){
					count++;
				}
			}
		}

		// 出力
		System.out.println(count);
	}
} 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 count=0;

		for(int x=0;x<=A&&x*500<=X;x++){
			for(int y=0;y<=B&&(x*500+y*100)<=X;y++){
				if(X-(x*500+y*100+C*50)<=0){
					count++;
				}
			}
		}

		// 出力
		System.out.println(count);
	} main {
		Scanner sc = new Scanner(System.in);

		// 整数の入力
		int A = sc.nextInt();
		int B = sc.nextInt();
		int C = sc.nextInt();

		int X = sc.nextInt();

		int count=0;

		for(int x=0;x<=A&&x*500<=X;x++){
			for(int y=0;y<=B&&(x*500+y*100)<=X;y++){
				if(X-(x*500+y*100+C*50)<=0){
					count++;
				}
			}
		}

		// 出力
		System.out.println(count);
	} 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 count=0; count 0 for(int x=0;x<=A&&x*500<=X;x++){
			for(int y=0;y<=B&&(x*500+y*100)<=X;y++){
				if(X-(x*500+y*100+C*50)<=0){
					count++;
				}
			}
		} int x=0; int x=0; x 0 x<=A&&x*500<=X x<=A x A x*500<=X x*500 x 500 X x++ x++ x {
			for(int y=0;y<=B&&(x*500+y*100)<=X;y++){
				if(X-(x*500+y*100+C*50)<=0){
					count++;
				}
			}
		} {
			for(int y=0;y<=B&&(x*500+y*100)<=X;y++){
				if(X-(x*500+y*100+C*50)<=0){
					count++;
				}
			}
		} for(int y=0;y<=B&&(x*500+y*100)<=X;y++){
				if(X-(x*500+y*100+C*50)<=0){
					count++;
				}
			} int y=0; int y=0; y 0 y<=B&&(x*500+y*100)<=X y<=B y B (x*500+y*100)<=X (x*500+y*100) x*500 x 500 y*100 y 100 X y++ y++ y {
				if(X-(x*500+y*100+C*50)<=0){
					count++;
				}
			} {
				if(X-(x*500+y*100+C*50)<=0){
					count++;
				}
			} if(X-(x*500+y*100+C*50)<=0){
					count++;
				} X-(x*500+y*100+C*50)<=0 X-(x*500+y*100+C*50) X (x*500+y*100+C*50) x*500+y*100+C*50 x*500 x 500 y*100 y 100 C*50 C 50 0 {
					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 sc = new Scanner(System.in);

		// 整数の入力
		int A = sc.nextInt();
		int B = sc.nextInt();
		int C = sc.nextInt();

		int X = sc.nextInt();

		int count=0;

		for(int x=0;x<=A&&x*500<=X;x++){
			for(int y=0;y<=B&&(x*500+y*100)<=X;y++){
				if(X-(x*500+y*100+C*50)<=0){
					count++;
				}
			}
		}

		// 出力
		System.out.println(count);
	}
} public 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 count=0;

		for(int x=0;x<=A&&x*500<=X;x++){
			for(int y=0;y<=B&&(x*500+y*100)<=X;y++){
				if(X-(x*500+y*100+C*50)<=0){
					count++;
				}
			}
		}

		// 出力
		System.out.println(count);
	}
} Main
import java.util.*;
public 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 count=0;

		for(int x=0;x<=A&&x*500<=X;x++){
			for(int y=0;y<=B&&(x*500+y*100)<=X;y++){
				if(X-(x*500+y*100+C*50)<=0){
					count++;
				}
			}
		}

		// 出力
		System.out.println(count);
	}
}