import java.util.*;

public class Main{

    void solve(){
        Scanner scan = new Scanner(System.in);
        int a = scan.nextInt();
        int b = scan.nextInt();
        int c = scan.nextInt();
        int x = scan.nextInt();
        int out = 0;
        for(int i = 0; i <= a; i++){
            for(int j = 0; j <= b; j++){
                int k = (x - i * 500 - j * 100) / 50;
                if(0 <= k && k <= c) out++;
            }
        }
        System.out.println(out);
    }


    public static void main(String[] args){
        new Main().solve();
    }
} import java.util.*; util.* java public class Main{

    void solve(){
        Scanner scan = new Scanner(System.in);
        int a = scan.nextInt();
        int b = scan.nextInt();
        int c = scan.nextInt();
        int x = scan.nextInt();
        int out = 0;
        for(int i = 0; i <= a; i++){
            for(int j = 0; j <= b; j++){
                int k = (x - i * 500 - j * 100) / 50;
                if(0 <= k && k <= c) out++;
            }
        }
        System.out.println(out);
    }


    public static void main(String[] args){
        new Main().solve();
    }
} Main void solve(){
        Scanner scan = new Scanner(System.in);
        int a = scan.nextInt();
        int b = scan.nextInt();
        int c = scan.nextInt();
        int x = scan.nextInt();
        int out = 0;
        for(int i = 0; i <= a; i++){
            for(int j = 0; j <= b; j++){
                int k = (x - i * 500 - j * 100) / 50;
                if(0 <= k && k <= c) out++;
            }
        }
        System.out.println(out);
    } solve {
        Scanner scan = new Scanner(System.in);
        int a = scan.nextInt();
        int b = scan.nextInt();
        int c = scan.nextInt();
        int x = scan.nextInt();
        int out = 0;
        for(int i = 0; i <= a; i++){
            for(int j = 0; j <= b; j++){
                int k = (x - i * 500 - j * 100) / 50;
                if(0 <= k && k <= c) out++;
            }
        }
        System.out.println(out);
    } Scanner scan = new Scanner(System.in); scan new Scanner(System.in) int a = scan.nextInt(); a scan.nextInt() scan.nextInt scan int b = scan.nextInt(); b scan.nextInt() scan.nextInt scan int c = scan.nextInt(); c scan.nextInt() scan.nextInt scan int x = scan.nextInt(); x scan.nextInt() scan.nextInt scan int out = 0; out 0 for(int i = 0; i <= a; i++){
            for(int j = 0; j <= b; j++){
                int k = (x - i * 500 - j * 100) / 50;
                if(0 <= k && k <= c) out++;
            }
        } int i = 0; int i = 0; i 0 i <= a i a i++ i++ i {
            for(int j = 0; j <= b; j++){
                int k = (x - i * 500 - j * 100) / 50;
                if(0 <= k && k <= c) out++;
            }
        } {
            for(int j = 0; j <= b; j++){
                int k = (x - i * 500 - j * 100) / 50;
                if(0 <= k && k <= c) out++;
            }
        } for(int j = 0; j <= b; j++){
                int k = (x - i * 500 - j * 100) / 50;
                if(0 <= k && k <= c) out++;
            } int j = 0; int j = 0; j 0 j <= b j b j++ j++ j {
                int k = (x - i * 500 - j * 100) / 50;
                if(0 <= k && k <= c) out++;
            } {
                int k = (x - i * 500 - j * 100) / 50;
                if(0 <= k && k <= c) out++;
            } int k = (x - i * 500 - j * 100) / 50; k (x - i * 500 - j * 100) / 50 (x - i * 500 - j * 100) x - i * 500 - j * 100 x i * 500 i 500 j * 100 j 100 50 if(0 <= k && k <= c) out++; 0 <= k && k <= c 0 <= k 0 k k <= c k c out++ out System.out.println(out) System.out.println System.out System System.out out public static void main(String[] args){
        new Main().solve();
    } main {
        new Main().solve();
    } new Main().solve() new Main().solve new Main() String[] args args public class Main{

    void solve(){
        Scanner scan = new Scanner(System.in);
        int a = scan.nextInt();
        int b = scan.nextInt();
        int c = scan.nextInt();
        int x = scan.nextInt();
        int out = 0;
        for(int i = 0; i <= a; i++){
            for(int j = 0; j <= b; j++){
                int k = (x - i * 500 - j * 100) / 50;
                if(0 <= k && k <= c) out++;
            }
        }
        System.out.println(out);
    }


    public static void main(String[] args){
        new Main().solve();
    }
} public class Main{

    void solve(){
        Scanner scan = new Scanner(System.in);
        int a = scan.nextInt();
        int b = scan.nextInt();
        int c = scan.nextInt();
        int x = scan.nextInt();
        int out = 0;
        for(int i = 0; i <= a; i++){
            for(int j = 0; j <= b; j++){
                int k = (x - i * 500 - j * 100) / 50;
                if(0 <= k && k <= c) out++;
            }
        }
        System.out.println(out);
    }


    public static void main(String[] args){
        new Main().solve();
    }
} Main
import java.util.*;

public class Main{

    void solve(){
        Scanner scan = new Scanner(System.in);
        int a = scan.nextInt();
        int b = scan.nextInt();
        int c = scan.nextInt();
        int x = scan.nextInt();
        int out = 0;
        for(int i = 0; i <= a; i++){
            for(int j = 0; j <= b; j++){
                int k = (x - i * 500 - j * 100) / 50;
                if(0 <= k && k <= c) out++;
            }
        }
        System.out.println(out);
    }


    public static void main(String[] args){
        new Main().solve();
    }
}
