import java.util.*;

class Main{
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int A=Integer.parseInt(sc.next());
        int B=Integer.parseInt(sc.next());
        int C=Integer.parseInt(sc.next());
        int X=Integer.parseInt(sc.next());
        int ans=0;
        for (int a=0;a<=A;a++){
            for (int b=0;b<=B;b++){
                for (int c=0;c<=C;c++){
                    if (a*500+b*100+c*50==X){
                        ans++;
                    }
                }
            }
        }
        System.out.println(ans);
    }
} import java.util.*; util.* java class Main{
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int A=Integer.parseInt(sc.next());
        int B=Integer.parseInt(sc.next());
        int C=Integer.parseInt(sc.next());
        int X=Integer.parseInt(sc.next());
        int ans=0;
        for (int a=0;a<=A;a++){
            for (int b=0;b<=B;b++){
                for (int c=0;c<=C;c++){
                    if (a*500+b*100+c*50==X){
                        ans++;
                    }
                }
            }
        }
        System.out.println(ans);
    }
} Main public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int A=Integer.parseInt(sc.next());
        int B=Integer.parseInt(sc.next());
        int C=Integer.parseInt(sc.next());
        int X=Integer.parseInt(sc.next());
        int ans=0;
        for (int a=0;a<=A;a++){
            for (int b=0;b<=B;b++){
                for (int c=0;c<=C;c++){
                    if (a*500+b*100+c*50==X){
                        ans++;
                    }
                }
            }
        }
        System.out.println(ans);
    } main {
        Scanner sc=new Scanner(System.in);
        int A=Integer.parseInt(sc.next());
        int B=Integer.parseInt(sc.next());
        int C=Integer.parseInt(sc.next());
        int X=Integer.parseInt(sc.next());
        int ans=0;
        for (int a=0;a<=A;a++){
            for (int b=0;b<=B;b++){
                for (int c=0;c<=C;c++){
                    if (a*500+b*100+c*50==X){
                        ans++;
                    }
                }
            }
        }
        System.out.println(ans);
    } Scanner sc=new Scanner(System.in); sc new Scanner(System.in) int A=Integer.parseInt(sc.next()); A Integer.parseInt(sc.next()) Integer.parseInt Integer sc.next() sc.next sc int B=Integer.parseInt(sc.next()); B Integer.parseInt(sc.next()) Integer.parseInt Integer sc.next() sc.next sc int C=Integer.parseInt(sc.next()); C Integer.parseInt(sc.next()) Integer.parseInt Integer sc.next() sc.next sc int X=Integer.parseInt(sc.next()); X Integer.parseInt(sc.next()) Integer.parseInt Integer sc.next() sc.next sc int ans=0; ans 0 for (int a=0;a<=A;a++){
            for (int b=0;b<=B;b++){
                for (int c=0;c<=C;c++){
                    if (a*500+b*100+c*50==X){
                        ans++;
                    }
                }
            }
        } int a=0; int a=0; a 0 a<=A a A a++ a++ a {
            for (int b=0;b<=B;b++){
                for (int c=0;c<=C;c++){
                    if (a*500+b*100+c*50==X){
                        ans++;
                    }
                }
            }
        } {
            for (int b=0;b<=B;b++){
                for (int c=0;c<=C;c++){
                    if (a*500+b*100+c*50==X){
                        ans++;
                    }
                }
            }
        } for (int b=0;b<=B;b++){
                for (int c=0;c<=C;c++){
                    if (a*500+b*100+c*50==X){
                        ans++;
                    }
                }
            } int b=0; int b=0; b 0 b<=B b B b++ b++ b {
                for (int c=0;c<=C;c++){
                    if (a*500+b*100+c*50==X){
                        ans++;
                    }
                }
            } {
                for (int c=0;c<=C;c++){
                    if (a*500+b*100+c*50==X){
                        ans++;
                    }
                }
            } for (int c=0;c<=C;c++){
                    if (a*500+b*100+c*50==X){
                        ans++;
                    }
                } int c=0; int c=0; c 0 c<=C c C c++ c++ c {
                    if (a*500+b*100+c*50==X){
                        ans++;
                    }
                } {
                    if (a*500+b*100+c*50==X){
                        ans++;
                    }
                } if (a*500+b*100+c*50==X){
                        ans++;
                    } a*500+b*100+c*50==X a*500+b*100+c*50 a*500+b*100+c*50 a*500 a 500 b*100 b 100 c*50 c 50 X {
                        ans++;
                    } ans++ ans System.out.println(ans) System.out.println System.out System System.out ans String[] args args
import java.util.*;

class Main{
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int A=Integer.parseInt(sc.next());
        int B=Integer.parseInt(sc.next());
        int C=Integer.parseInt(sc.next());
        int X=Integer.parseInt(sc.next());
        int ans=0;
        for (int a=0;a<=A;a++){
            for (int b=0;b<=B;b++){
                for (int c=0;c<=C;c++){
                    if (a*500+b*100+c*50==X){
                        ans++;
                    }
                }
            }
        }
        System.out.println(ans);
    }
}