import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        int ans=0;

        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        int c = sc.nextInt();
        int x = sc.nextInt();

        top:for(int i = 0;i<=a;i++){
            if(i*500>x) break;
            second:for(int i1 = 0;i1<=b;i1++){
                if((i*500+i1*100)>x) continue top;
                for(int i2 = 0;i2<=c;i2++){
                    int tmp = i * 500 + i1 * 100 + i2 * 50;
                    if(tmp ==x) {
                        ans++;
                        continue second;
                    }
                    if(tmp >x){
                        continue second;
                    }
                }
            }
        }
        System.out.println(ans);
    }
} import java.util.Scanner; Scanner java.util public class Main {
    public static void main(String[] args) {
        int ans=0;

        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        int c = sc.nextInt();
        int x = sc.nextInt();

        top:for(int i = 0;i<=a;i++){
            if(i*500>x) break;
            second:for(int i1 = 0;i1<=b;i1++){
                if((i*500+i1*100)>x) continue top;
                for(int i2 = 0;i2<=c;i2++){
                    int tmp = i * 500 + i1 * 100 + i2 * 50;
                    if(tmp ==x) {
                        ans++;
                        continue second;
                    }
                    if(tmp >x){
                        continue second;
                    }
                }
            }
        }
        System.out.println(ans);
    }
} Main public static void main(String[] args) {
        int ans=0;

        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        int c = sc.nextInt();
        int x = sc.nextInt();

        top:for(int i = 0;i<=a;i++){
            if(i*500>x) break;
            second:for(int i1 = 0;i1<=b;i1++){
                if((i*500+i1*100)>x) continue top;
                for(int i2 = 0;i2<=c;i2++){
                    int tmp = i * 500 + i1 * 100 + i2 * 50;
                    if(tmp ==x) {
                        ans++;
                        continue second;
                    }
                    if(tmp >x){
                        continue second;
                    }
                }
            }
        }
        System.out.println(ans);
    } main {
        int ans=0;

        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        int c = sc.nextInt();
        int x = sc.nextInt();

        top:for(int i = 0;i<=a;i++){
            if(i*500>x) break;
            second:for(int i1 = 0;i1<=b;i1++){
                if((i*500+i1*100)>x) continue top;
                for(int i2 = 0;i2<=c;i2++){
                    int tmp = i * 500 + i1 * 100 + i2 * 50;
                    if(tmp ==x) {
                        ans++;
                        continue second;
                    }
                    if(tmp >x){
                        continue second;
                    }
                }
            }
        }
        System.out.println(ans);
    } int ans=0; ans 0 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 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) {
        int ans=0;

        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        int c = sc.nextInt();
        int x = sc.nextInt();

        top:for(int i = 0;i<=a;i++){
            if(i*500>x) break;
            second:for(int i1 = 0;i1<=b;i1++){
                if((i*500+i1*100)>x) continue top;
                for(int i2 = 0;i2<=c;i2++){
                    int tmp = i * 500 + i1 * 100 + i2 * 50;
                    if(tmp ==x) {
                        ans++;
                        continue second;
                    }
                    if(tmp >x){
                        continue second;
                    }
                }
            }
        }
        System.out.println(ans);
    }
} public class Main {
    public static void main(String[] args) {
        int ans=0;

        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        int c = sc.nextInt();
        int x = sc.nextInt();

        top:for(int i = 0;i<=a;i++){
            if(i*500>x) break;
            second:for(int i1 = 0;i1<=b;i1++){
                if((i*500+i1*100)>x) continue top;
                for(int i2 = 0;i2<=c;i2++){
                    int tmp = i * 500 + i1 * 100 + i2 * 50;
                    if(tmp ==x) {
                        ans++;
                        continue second;
                    }
                    if(tmp >x){
                        continue second;
                    }
                }
            }
        }
        System.out.println(ans);
    }
} Main
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        int ans=0;

        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        int c = sc.nextInt();
        int x = sc.nextInt();

        top:for(int i = 0;i<=a;i++){
            if(i*500>x) break;
            second:for(int i1 = 0;i1<=b;i1++){
                if((i*500+i1*100)>x) continue top;
                for(int i2 = 0;i2<=c;i2++){
                    int tmp = i * 500 + i1 * 100 + i2 * 50;
                    if(tmp ==x) {
                        ans++;
                        continue second;
                    }
                    if(tmp >x){
                        continue second;
                    }
                }
            }
        }
        System.out.println(ans);
    }
}
