import java.util.*;

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 res=0;
    for (int a=0; a<=A; a++) {
      for (int b=0; b<=B; b++) {
        int c=(X-a*500-b*100)/50;
        if (c>=0 && c<=C)
          res++;
      }
    }
    System.out.println(res);
  }
} import java.util.*; util.* java 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 res=0;
    for (int a=0; a<=A; a++) {
      for (int b=0; b<=B; b++) {
        int c=(X-a*500-b*100)/50;
        if (c>=0 && c<=C)
          res++;
      }
    }
    System.out.println(res);
  }
} 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 res=0;
    for (int a=0; a<=A; a++) {
      for (int b=0; b<=B; b++) {
        int c=(X-a*500-b*100)/50;
        if (c>=0 && c<=C)
          res++;
      }
    }
    System.out.println(res);
  } main {
    Scanner sc=new Scanner(System.in);
    int A=sc.nextInt();
    int B=sc.nextInt();
    int C=sc.nextInt();
    int X=sc.nextInt();

    int res=0;
    for (int a=0; a<=A; a++) {
      for (int b=0; b<=B; b++) {
        int c=(X-a*500-b*100)/50;
        if (c>=0 && c<=C)
          res++;
      }
    }
    System.out.println(res);
  } 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 res=0; res 0 for (int a=0; a<=A; a++) {
      for (int b=0; b<=B; b++) {
        int c=(X-a*500-b*100)/50;
        if (c>=0 && c<=C)
          res++;
      }
    } int a=0; int a=0; a 0 a<=A a A a++ a++ a {
      for (int b=0; b<=B; b++) {
        int c=(X-a*500-b*100)/50;
        if (c>=0 && c<=C)
          res++;
      }
    } {
      for (int b=0; b<=B; b++) {
        int c=(X-a*500-b*100)/50;
        if (c>=0 && c<=C)
          res++;
      }
    } for (int b=0; b<=B; b++) {
        int c=(X-a*500-b*100)/50;
        if (c>=0 && c<=C)
          res++;
      } int b=0; int b=0; b 0 b<=B b B b++ b++ b {
        int c=(X-a*500-b*100)/50;
        if (c>=0 && c<=C)
          res++;
      } {
        int c=(X-a*500-b*100)/50;
        if (c>=0 && c<=C)
          res++;
      } int c=(X-a*500-b*100)/50; c (X-a*500-b*100)/50 (X-a*500-b*100) X-a*500-b*100 X a*500 a 500 b*100 b 100 50 if (c>=0 && c<=C)
          res++; c>=0 && c<=C c>=0 c 0 c<=C c C res++ res System.out.println(res) System.out.println System.out System System.out res String[] args args
import java.util.*;

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 res=0;
    for (int a=0; a<=A; a++) {
      for (int b=0; b<=B; b++) {
        int c=(X-a*500-b*100)/50;
        if (c>=0 && c<=C)
          res++;
      }
    }
    System.out.println(res);
  }
}
