import java.util.Scanner;

public class Main {

    public static void main(String[] args) throws Exception {

//    	File file = new File("test.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 N = sc.nextInt();
    	sc.close();
    	int ans = 0;
    	for(int i = 0; i <= A; i++){
    		for(int j = 0; j <= B; j++){
    			for(int k = 0; k <= C; k++){
    				if((i * 500 + j * 100 + k * 50) == N){
    					ans++;
    				}
    			}
    		}

    	}
    	System.out.println(ans);
    }

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

    public static void main(String[] args) throws Exception {

//    	File file = new File("test.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 N = sc.nextInt();
    	sc.close();
    	int ans = 0;
    	for(int i = 0; i <= A; i++){
    		for(int j = 0; j <= B; j++){
    			for(int k = 0; k <= C; k++){
    				if((i * 500 + j * 100 + k * 50) == N){
    					ans++;
    				}
    			}
    		}

    	}
    	System.out.println(ans);
    }

} Main public static void main(String[] args) throws Exception {

//    	File file = new File("test.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 N = sc.nextInt();
    	sc.close();
    	int ans = 0;
    	for(int i = 0; i <= A; i++){
    		for(int j = 0; j <= B; j++){
    			for(int k = 0; k <= C; k++){
    				if((i * 500 + j * 100 + k * 50) == N){
    					ans++;
    				}
    			}
    		}

    	}
    	System.out.println(ans);
    } main {

//    	File file = new File("test.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 N = sc.nextInt();
    	sc.close();
    	int ans = 0;
    	for(int i = 0; i <= A; i++){
    		for(int j = 0; j <= B; j++){
    			for(int k = 0; k <= C; k++){
    				if((i * 500 + j * 100 + k * 50) == N){
    					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 N = sc.nextInt(); N sc.nextInt() sc.nextInt sc sc.close() sc.close sc int ans = 0; ans 0 for(int i = 0; i <= A; i++){
    		for(int j = 0; j <= B; j++){
    			for(int k = 0; k <= C; k++){
    				if((i * 500 + j * 100 + k * 50) == N){
    					ans++;
    				}
    			}
    		}

    	} int i = 0; int i = 0; i 0 i <= A i A i++ i++ i {
    		for(int j = 0; j <= B; j++){
    			for(int k = 0; k <= C; k++){
    				if((i * 500 + j * 100 + k * 50) == N){
    					ans++;
    				}
    			}
    		}

    	} {
    		for(int j = 0; j <= B; j++){
    			for(int k = 0; k <= C; k++){
    				if((i * 500 + j * 100 + k * 50) == N){
    					ans++;
    				}
    			}
    		}

    	} for(int j = 0; j <= B; j++){
    			for(int k = 0; k <= C; k++){
    				if((i * 500 + j * 100 + k * 50) == N){
    					ans++;
    				}
    			}
    		} int j = 0; int j = 0; j 0 j <= B j B j++ j++ j {
    			for(int k = 0; k <= C; k++){
    				if((i * 500 + j * 100 + k * 50) == N){
    					ans++;
    				}
    			}
    		} {
    			for(int k = 0; k <= C; k++){
    				if((i * 500 + j * 100 + k * 50) == N){
    					ans++;
    				}
    			}
    		} for(int k = 0; k <= C; k++){
    				if((i * 500 + j * 100 + k * 50) == N){
    					ans++;
    				}
    			} int k = 0; int k = 0; k 0 k <= C k C k++ k++ k {
    				if((i * 500 + j * 100 + k * 50) == N){
    					ans++;
    				}
    			} {
    				if((i * 500 + j * 100 + k * 50) == N){
    					ans++;
    				}
    			} if((i * 500 + j * 100 + k * 50) == N){
    					ans++;
    				} (i * 500 + j * 100 + k * 50) == N (i * 500 + j * 100 + k * 50) i * 500 + j * 100 + k * 50 i * 500 i 500 j * 100 j 100 k * 50 k 50 N {
    					ans++;
    				} 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 Exception {

//    	File file = new File("test.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 N = sc.nextInt();
    	sc.close();
    	int ans = 0;
    	for(int i = 0; i <= A; i++){
    		for(int j = 0; j <= B; j++){
    			for(int k = 0; k <= C; k++){
    				if((i * 500 + j * 100 + k * 50) == N){
    					ans++;
    				}
    			}
    		}

    	}
    	System.out.println(ans);
    }

} public class Main {

    public static void main(String[] args) throws Exception {

//    	File file = new File("test.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 N = sc.nextInt();
    	sc.close();
    	int ans = 0;
    	for(int i = 0; i <= A; i++){
    		for(int j = 0; j <= B; j++){
    			for(int k = 0; k <= C; k++){
    				if((i * 500 + j * 100 + k * 50) == N){
    					ans++;
    				}
    			}
    		}

    	}
    	System.out.println(ans);
    }

} Main
import java.util.Scanner;

public class Main {

    public static void main(String[] args) throws Exception {

//    	File file = new File("test.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 N = sc.nextInt();
    	sc.close();
    	int ans = 0;
    	for(int i = 0; i <= A; i++){
    		for(int j = 0; j <= B; j++){
    			for(int k = 0; k <= C; k++){
    				if((i * 500 + j * 100 + k * 50) == N){
    					ans++;
    				}
    			}
    		}

    	}
    	System.out.println(ans);
    }

}
