    import java.util.*;
     
    class Main {
       public static void main(String[] args)
       {
          Scanner scan = new Scanner(System.in);
     
          int Y500 = scan.nextInt();
          int Y100 = scan.nextInt();
          int Y50  = scan.nextInt();
     
          int N = scan.nextInt();
          int count = 0;
          int S, U, V;
     
     
          for(int i = Y500; i >= 0; i--){
              S = N;
              S = N - (500 * i);
              if(S == 0){
                 count++;
                 }
              if(S != 0){
                 for(int j = Y100; j >= 0; j--){
                     U = S;
                     U = S - j * 100;
                     if(U == 0){
                        count++;
                        }
                     if(U != 0){
                        for(int k = Y50; k >= 0; k--){
                            V = U;
                            V = V - (50 * k);
                            if(V == 0){
                               count++;
                               }
                            }
                        }
                     }
                 }
              }
          System.out.println(count);
       }
    }
/tmp/hf-datasets-cache/medium/datasets/42704881117311-config-parquet-and-info-qiankunmu-Project_CodeNet-896c9d36/hub/datasets--qiankunmu--Project_CodeNet_Python800_and_Java250/snapshots/c899fde44a77ba1cc14973ed3de064e4ff3aadc7/Project_CodeNet_Java250.tar.gz