import java.util.*;
import java.util.Collections;
import java.util.ArrayList;

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 sum = 0;
        int ans = 0;

        for(int i=0; i<=A; i++){
            for(int j=0; j<=B; j++){
                for(int k=0; k<=C; k++){
                    sum = 500 * i + 100 * j + 50 * k;
                    if(sum==X){
                        ans += 1;
                    }
                    sum = 0;
                }
            }
        }
        System.out.println(ans);
    } 
} import java.util.*; util.* java import java.util.Collections; Collections java.util import java.util.ArrayList; ArrayList 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 sum = 0;
        int ans = 0;

        for(int i=0; i<=A; i++){
            for(int j=0; j<=B; j++){
                for(int k=0; k<=C; k++){
                    sum = 500 * i + 100 * j + 50 * k;
                    if(sum==X){
                        ans += 1;
                    }
                    sum = 0;
                }
            }
        }
        System.out.println(ans);
    } 
} 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 sum = 0;
        int ans = 0;

        for(int i=0; i<=A; i++){
            for(int j=0; j<=B; j++){
                for(int k=0; k<=C; k++){
                    sum = 500 * i + 100 * j + 50 * k;
                    if(sum==X){
                        ans += 1;
                    }
                    sum = 0;
                }
            }
        }
        System.out.println(ans);
    } main {
        Scanner sc = new Scanner(System.in);

        int A = sc.nextInt();
        int B = sc.nextInt();
        int C = sc.nextInt();
        int X = sc.nextInt();
        int sum = 0;
        int ans = 0;

        for(int i=0; i<=A; i++){
            for(int j=0; j<=B; j++){
                for(int k=0; k<=C; k++){
                    sum = 500 * i + 100 * j + 50 * k;
                    if(sum==X){
                        ans += 1;
                    }
                    sum = 0;
                }
            }
        }
        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 sum = 0; sum 0 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++){
                    sum = 500 * i + 100 * j + 50 * k;
                    if(sum==X){
                        ans += 1;
                    }
                    sum = 0;
                }
            }
        } 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++){
                    sum = 500 * i + 100 * j + 50 * k;
                    if(sum==X){
                        ans += 1;
                    }
                    sum = 0;
                }
            }
        } {
            for(int j=0; j<=B; j++){
                for(int k=0; k<=C; k++){
                    sum = 500 * i + 100 * j + 50 * k;
                    if(sum==X){
                        ans += 1;
                    }
                    sum = 0;
                }
            }
        } for(int j=0; j<=B; j++){
                for(int k=0; k<=C; k++){
                    sum = 500 * i + 100 * j + 50 * k;
                    if(sum==X){
                        ans += 1;
                    }
                    sum = 0;
                }
            } int j=0; int j=0; j 0 j<=B j B j++ j++ j {
                for(int k=0; k<=C; k++){
                    sum = 500 * i + 100 * j + 50 * k;
                    if(sum==X){
                        ans += 1;
                    }
                    sum = 0;
                }
            } {
                for(int k=0; k<=C; k++){
                    sum = 500 * i + 100 * j + 50 * k;
                    if(sum==X){
                        ans += 1;
                    }
                    sum = 0;
                }
            } for(int k=0; k<=C; k++){
                    sum = 500 * i + 100 * j + 50 * k;
                    if(sum==X){
                        ans += 1;
                    }
                    sum = 0;
                } int k=0; int k=0; k 0 k<=C k C k++ k++ k {
                    sum = 500 * i + 100 * j + 50 * k;
                    if(sum==X){
                        ans += 1;
                    }
                    sum = 0;
                } {
                    sum = 500 * i + 100 * j + 50 * k;
                    if(sum==X){
                        ans += 1;
                    }
                    sum = 0;
                } sum = 500 * i + 100 * j + 50 * k sum 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(sum==X){
                        ans += 1;
                    } sum==X sum X {
                        ans += 1;
                    } ans += 1 ans 1 sum = 0 sum 0 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){
        Scanner sc = new Scanner(System.in);

        int A = sc.nextInt();
        int B = sc.nextInt();
        int C = sc.nextInt();
        int X = sc.nextInt();
        int sum = 0;
        int ans = 0;

        for(int i=0; i<=A; i++){
            for(int j=0; j<=B; j++){
                for(int k=0; k<=C; k++){
                    sum = 500 * i + 100 * j + 50 * k;
                    if(sum==X){
                        ans += 1;
                    }
                    sum = 0;
                }
            }
        }
        System.out.println(ans);
    } 
} 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 sum = 0;
        int ans = 0;

        for(int i=0; i<=A; i++){
            for(int j=0; j<=B; j++){
                for(int k=0; k<=C; k++){
                    sum = 500 * i + 100 * j + 50 * k;
                    if(sum==X){
                        ans += 1;
                    }
                    sum = 0;
                }
            }
        }
        System.out.println(ans);
    } 
} Main
import java.util.*;
import java.util.Collections;
import java.util.ArrayList;

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 sum = 0;
        int ans = 0;

        for(int i=0; i<=A; i++){
            for(int j=0; j<=B; j++){
                for(int k=0; k<=C; k++){
                    sum = 500 * i + 100 * j + 50 * k;
                    if(sum==X){
                        ans += 1;
                    }
                    sum = 0;
                }
            }
        }
        System.out.println(ans);
    } 
}