import java.util.Scanner;

public 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 ans = 0;
    for (int p = 0; p <= A; p++){
      for (int q = 0; q <= B; q++){
        for (int r = 0; r <= C; r++){
          int total = 500*p + 100*q + 50*r;
          if (total == X) ans++;
        }
      }
    }
    System.out.println(ans);
  }
} import java.util.Scanner; Scanner java.util public 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 ans = 0;
    for (int p = 0; p <= A; p++){
      for (int q = 0; q <= B; q++){
        for (int r = 0; r <= C; r++){
          int total = 500*p + 100*q + 50*r;
          if (total == X) ans++;
        }
      }
    }
    System.out.println(ans);
  }
} 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 ans = 0;
    for (int p = 0; p <= A; p++){
      for (int q = 0; q <= B; q++){
        for (int r = 0; r <= C; r++){
          int total = 500*p + 100*q + 50*r;
          if (total == X) ans++;
        }
      }
    }
    System.out.println(ans);
  } main {
    Scanner sc = new Scanner(System.in);
    int A = sc.nextInt();
    int B = sc.nextInt();
    int C = sc.nextInt();
    int X = sc.nextInt();
    int ans = 0;
    for (int p = 0; p <= A; p++){
      for (int q = 0; q <= B; q++){
        for (int r = 0; r <= C; r++){
          int total = 500*p + 100*q + 50*r;
          if (total == X) ans++;
        }
      }
    }
    System.out.println(ans);
  } 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 ans = 0; ans 0 for (int p = 0; p <= A; p++){
      for (int q = 0; q <= B; q++){
        for (int r = 0; r <= C; r++){
          int total = 500*p + 100*q + 50*r;
          if (total == X) ans++;
        }
      }
    } int p = 0; int p = 0; p 0 p <= A p A p++ p++ p {
      for (int q = 0; q <= B; q++){
        for (int r = 0; r <= C; r++){
          int total = 500*p + 100*q + 50*r;
          if (total == X) ans++;
        }
      }
    } {
      for (int q = 0; q <= B; q++){
        for (int r = 0; r <= C; r++){
          int total = 500*p + 100*q + 50*r;
          if (total == X) ans++;
        }
      }
    } for (int q = 0; q <= B; q++){
        for (int r = 0; r <= C; r++){
          int total = 500*p + 100*q + 50*r;
          if (total == X) ans++;
        }
      } int q = 0; int q = 0; q 0 q <= B q B q++ q++ q {
        for (int r = 0; r <= C; r++){
          int total = 500*p + 100*q + 50*r;
          if (total == X) ans++;
        }
      } {
        for (int r = 0; r <= C; r++){
          int total = 500*p + 100*q + 50*r;
          if (total == X) ans++;
        }
      } for (int r = 0; r <= C; r++){
          int total = 500*p + 100*q + 50*r;
          if (total == X) ans++;
        } int r = 0; int r = 0; r 0 r <= C r C r++ r++ r {
          int total = 500*p + 100*q + 50*r;
          if (total == X) ans++;
        } {
          int total = 500*p + 100*q + 50*r;
          if (total == X) ans++;
        } int total = 500*p + 100*q + 50*r; total 500*p + 100*q + 50*r 500*p + 100*q + 50*r 500*p 500 p 100*q 100 q 50*r 50 r if (total == X) ans++; total == X total X ans++ ans 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){
    Scanner sc = new Scanner(System.in);
    int A = sc.nextInt();
    int B = sc.nextInt();
    int C = sc.nextInt();
    int X = sc.nextInt();
    int ans = 0;
    for (int p = 0; p <= A; p++){
      for (int q = 0; q <= B; q++){
        for (int r = 0; r <= C; r++){
          int total = 500*p + 100*q + 50*r;
          if (total == X) ans++;
        }
      }
    }
    System.out.println(ans);
  }
} public 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 ans = 0;
    for (int p = 0; p <= A; p++){
      for (int q = 0; q <= B; q++){
        for (int r = 0; r <= C; r++){
          int total = 500*p + 100*q + 50*r;
          if (total == X) ans++;
        }
      }
    }
    System.out.println(ans);
  }
} Main
import java.util.Scanner;

public 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 ans = 0;
    for (int p = 0; p <= A; p++){
      for (int q = 0; q <= B; q++){
        for (int r = 0; r <= C; r++){
          int total = 500*p + 100*q + 50*r;
          if (total == X) ans++;
        }
      }
    }
    System.out.println(ans);
  }
}