import java.util.Scanner;

class Main{
    static Scanner sc=new Scanner(System.in);
    public static void main(String args[]){
        int a,b,c,x;
        a=sc.nextInt();
        b=sc.nextInt();
        c=sc.nextInt();
        x=sc.nextInt();

        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(500*i+100*j+50*k==x){
                        ans++;
                    }
                }
            }
        }
        System.out.print(ans+"\n");
    }
} import java.util.Scanner; Scanner java.util class Main{
    static Scanner sc=new Scanner(System.in);
    public static void main(String args[]){
        int a,b,c,x;
        a=sc.nextInt();
        b=sc.nextInt();
        c=sc.nextInt();
        x=sc.nextInt();

        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(500*i+100*j+50*k==x){
                        ans++;
                    }
                }
            }
        }
        System.out.print(ans+"\n");
    }
} Main static Scanner sc=new Scanner(System.in); sc new Scanner(System.in) public static void main(String args[]){
        int a,b,c,x;
        a=sc.nextInt();
        b=sc.nextInt();
        c=sc.nextInt();
        x=sc.nextInt();

        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(500*i+100*j+50*k==x){
                        ans++;
                    }
                }
            }
        }
        System.out.print(ans+"\n");
    } main {
        int a,b,c,x;
        a=sc.nextInt();
        b=sc.nextInt();
        c=sc.nextInt();
        x=sc.nextInt();

        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(500*i+100*j+50*k==x){
                        ans++;
                    }
                }
            }
        }
        System.out.print(ans+"\n");
    } int a a b b c c x; x a=sc.nextInt() a sc.nextInt() sc.nextInt sc b=sc.nextInt() b sc.nextInt() sc.nextInt sc c=sc.nextInt() c sc.nextInt() sc.nextInt sc x=sc.nextInt() x sc.nextInt() sc.nextInt 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(500*i+100*j+50*k==x){
                        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(500*i+100*j+50*k==x){
                        ans++;
                    }
                }
            }
        } {
            for(int j=0;j<=b;j++){
                for(int k=0;k<=c;k++){
                    if(500*i+100*j+50*k==x){
                        ans++;
                    }
                }
            }
        } for(int j=0;j<=b;j++){
                for(int k=0;k<=c;k++){
                    if(500*i+100*j+50*k==x){
                        ans++;
                    }
                }
            } int j=0; int j=0; j 0 j<=b j b j++ j++ j {
                for(int k=0;k<=c;k++){
                    if(500*i+100*j+50*k==x){
                        ans++;
                    }
                }
            } {
                for(int k=0;k<=c;k++){
                    if(500*i+100*j+50*k==x){
                        ans++;
                    }
                }
            } for(int k=0;k<=c;k++){
                    if(500*i+100*j+50*k==x){
                        ans++;
                    }
                } int k=0; int k=0; k 0 k<=c k c k++ k++ k {
                    if(500*i+100*j+50*k==x){
                        ans++;
                    }
                } {
                    if(500*i+100*j+50*k==x){
                        ans++;
                    }
                } if(500*i+100*j+50*k==x){
                        ans++;
                    } 500*i+100*j+50*k==x 500*i+100*j+50*k 500*i+100*j+50*k 500*i 500 i 100*j 100 j 50*k 50 k x {
                        ans++;
                    } ans++ ans System.out.print(ans+"\n") System.out.print System.out System System.out ans+"\n" ans "\n" String args[] args
import java.util.Scanner;

class Main{
    static Scanner sc=new Scanner(System.in);
    public static void main(String args[]){
        int a,b,c,x;
        a=sc.nextInt();
        b=sc.nextInt();
        c=sc.nextInt();
        x=sc.nextInt();

        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(500*i+100*j+50*k==x){
                        ans++;
                    }
                }
            }
        }
        System.out.print(ans+"\n");
    }
}