import java.io.File;
import java.io.IOException;
import java.util.*;
 
public class Main {
 
	public static void main(String[] args) throws IOException {
		//File file = new File("input.txt");
		//Scanner sc = new Scanner(file);
		
		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 a = 0; a <= A; a++){
			for(int b = 0; b <= B; b++){
				int cc = X - 500 * a - 100 * b;
				if(cc >= 0 && cc % 50 == 0 && cc / 50 <= C) ans++;
			}
		}
		
		System.out.println(ans);
	}
} import java.io.File; File java.io import java.io.IOException; IOException java.io import java.util.*; util.* java public class Main {
 
	public static void main(String[] args) throws IOException {
		//File file = new File("input.txt");
		//Scanner sc = new Scanner(file);
		
		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 a = 0; a <= A; a++){
			for(int b = 0; b <= B; b++){
				int cc = X - 500 * a - 100 * b;
				if(cc >= 0 && cc % 50 == 0 && cc / 50 <= C) ans++;
			}
		}
		
		System.out.println(ans);
	}
} Main public static void main(String[] args) throws IOException {
		//File file = new File("input.txt");
		//Scanner sc = new Scanner(file);
		
		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 a = 0; a <= A; a++){
			for(int b = 0; b <= B; b++){
				int cc = X - 500 * a - 100 * b;
				if(cc >= 0 && cc % 50 == 0 && cc / 50 <= C) ans++;
			}
		}
		
		System.out.println(ans);
	} main {
		//File file = new File("input.txt");
		//Scanner sc = new Scanner(file);
		
		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 a = 0; a <= A; a++){
			for(int b = 0; b <= B; b++){
				int cc = X - 500 * a - 100 * b;
				if(cc >= 0 && cc % 50 == 0 && cc / 50 <= C) 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 a = 0; a <= A; a++){
			for(int b = 0; b <= B; b++){
				int cc = X - 500 * a - 100 * b;
				if(cc >= 0 && cc % 50 == 0 && cc / 50 <= C) ans++;
			}
		} int a = 0; int a = 0; a 0 a <= A a A a++ a++ a {
			for(int b = 0; b <= B; b++){
				int cc = X - 500 * a - 100 * b;
				if(cc >= 0 && cc % 50 == 0 && cc / 50 <= C) ans++;
			}
		} {
			for(int b = 0; b <= B; b++){
				int cc = X - 500 * a - 100 * b;
				if(cc >= 0 && cc % 50 == 0 && cc / 50 <= C) ans++;
			}
		} for(int b = 0; b <= B; b++){
				int cc = X - 500 * a - 100 * b;
				if(cc >= 0 && cc % 50 == 0 && cc / 50 <= C) ans++;
			} int b = 0; int b = 0; b 0 b <= B b B b++ b++ b {
				int cc = X - 500 * a - 100 * b;
				if(cc >= 0 && cc % 50 == 0 && cc / 50 <= C) ans++;
			} {
				int cc = X - 500 * a - 100 * b;
				if(cc >= 0 && cc % 50 == 0 && cc / 50 <= C) ans++;
			} int cc = X - 500 * a - 100 * b; cc X - 500 * a - 100 * b X - 500 * a - 100 * b X 500 * a 500 a 100 * b 100 b if(cc >= 0 && cc % 50 == 0 && cc / 50 <= C) ans++; cc >= 0 && cc % 50 == 0 && cc / 50 <= C cc >= 0 && cc % 50 == 0 && cc / 50 <= C cc >= 0 cc 0 cc % 50 == 0 cc % 50 cc 50 0 cc / 50 <= C cc / 50 cc 50 C ans++ ans System.out.println(ans) System.out.println System.out System System.out ans String[] args args public class Main {
 
	public static void main(String[] args) throws IOException {
		//File file = new File("input.txt");
		//Scanner sc = new Scanner(file);
		
		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 a = 0; a <= A; a++){
			for(int b = 0; b <= B; b++){
				int cc = X - 500 * a - 100 * b;
				if(cc >= 0 && cc % 50 == 0 && cc / 50 <= C) ans++;
			}
		}
		
		System.out.println(ans);
	}
} public class Main {
 
	public static void main(String[] args) throws IOException {
		//File file = new File("input.txt");
		//Scanner sc = new Scanner(file);
		
		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 a = 0; a <= A; a++){
			for(int b = 0; b <= B; b++){
				int cc = X - 500 * a - 100 * b;
				if(cc >= 0 && cc % 50 == 0 && cc / 50 <= C) ans++;
			}
		}
		
		System.out.println(ans);
	}
} Main
import java.io.File;
import java.io.IOException;
import java.util.*;
 
public class Main {
 
	public static void main(String[] args) throws IOException {
		//File file = new File("input.txt");
		//Scanner sc = new Scanner(file);
		
		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 a = 0; a <= A; a++){
			for(int b = 0; b <= B; b++){
				int cc = X - 500 * a - 100 * b;
				if(cc >= 0 && cc % 50 == 0 && cc / 50 <= C) ans++;
			}
		}
		
		System.out.println(ans);
	}
}