import 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();
      X /= 50;
        int count = 0;
      for (int ia = 0; ia <= A; ia++) {
       	for (int ib = 0; ib <= B; ib++) {
          for (int ic = 0; ic <= C; ic++) {
            if (10 * ia + 2 * ib + ic == X) {
              count++;
            }
          }
        }
      }
		// 出力
		System.out.println(count);
	}
} import java.util.*; util.* java 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();
      X /= 50;
        int count = 0;
      for (int ia = 0; ia <= A; ia++) {
       	for (int ib = 0; ib <= B; ib++) {
          for (int ic = 0; ic <= C; ic++) {
            if (10 * ia + 2 * ib + ic == X) {
              count++;
            }
          }
        }
      }
		// 出力
		System.out.println(count);
	}
} 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();
      X /= 50;
        int count = 0;
      for (int ia = 0; ia <= A; ia++) {
       	for (int ib = 0; ib <= B; ib++) {
          for (int ic = 0; ic <= C; ic++) {
            if (10 * ia + 2 * ib + ic == X) {
              count++;
            }
          }
        }
      }
		// 出力
		System.out.println(count);
	} main {
		Scanner sc = new Scanner(System.in);
		// 整数の入力
		int A = sc.nextInt();
		int B = sc.nextInt();
		int C = sc.nextInt();
		int X = sc.nextInt();
      X /= 50;
        int count = 0;
      for (int ia = 0; ia <= A; ia++) {
       	for (int ib = 0; ib <= B; ib++) {
          for (int ic = 0; ic <= C; ic++) {
            if (10 * ia + 2 * ib + ic == X) {
              count++;
            }
          }
        }
      }
		// 出力
		System.out.println(count);
	} 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 X /= 50 X 50 int count = 0; count 0 for (int ia = 0; ia <= A; ia++) {
       	for (int ib = 0; ib <= B; ib++) {
          for (int ic = 0; ic <= C; ic++) {
            if (10 * ia + 2 * ib + ic == X) {
              count++;
            }
          }
        }
      } int ia = 0; int ia = 0; ia 0 ia <= A ia A ia++ ia++ ia {
       	for (int ib = 0; ib <= B; ib++) {
          for (int ic = 0; ic <= C; ic++) {
            if (10 * ia + 2 * ib + ic == X) {
              count++;
            }
          }
        }
      } {
       	for (int ib = 0; ib <= B; ib++) {
          for (int ic = 0; ic <= C; ic++) {
            if (10 * ia + 2 * ib + ic == X) {
              count++;
            }
          }
        }
      } for (int ib = 0; ib <= B; ib++) {
          for (int ic = 0; ic <= C; ic++) {
            if (10 * ia + 2 * ib + ic == X) {
              count++;
            }
          }
        } int ib = 0; int ib = 0; ib 0 ib <= B ib B ib++ ib++ ib {
          for (int ic = 0; ic <= C; ic++) {
            if (10 * ia + 2 * ib + ic == X) {
              count++;
            }
          }
        } {
          for (int ic = 0; ic <= C; ic++) {
            if (10 * ia + 2 * ib + ic == X) {
              count++;
            }
          }
        } for (int ic = 0; ic <= C; ic++) {
            if (10 * ia + 2 * ib + ic == X) {
              count++;
            }
          } int ic = 0; int ic = 0; ic 0 ic <= C ic C ic++ ic++ ic {
            if (10 * ia + 2 * ib + ic == X) {
              count++;
            }
          } {
            if (10 * ia + 2 * ib + ic == X) {
              count++;
            }
          } if (10 * ia + 2 * ib + ic == X) {
              count++;
            } 10 * ia + 2 * ib + ic == X 10 * ia + 2 * ib + ic 10 * ia + 2 * ib + ic 10 * ia 10 ia 2 * ib 2 ib ic X {
              count++;
            } count++ count System.out.println(count) System.out.println System.out System System.out count 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();
      X /= 50;
        int count = 0;
      for (int ia = 0; ia <= A; ia++) {
       	for (int ib = 0; ib <= B; ib++) {
          for (int ic = 0; ic <= C; ic++) {
            if (10 * ia + 2 * ib + ic == X) {
              count++;
            }
          }
        }
      }
		// 出力
		System.out.println(count);
	}
} 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();
      X /= 50;
        int count = 0;
      for (int ia = 0; ia <= A; ia++) {
       	for (int ib = 0; ib <= B; ib++) {
          for (int ic = 0; ic <= C; ic++) {
            if (10 * ia + 2 * ib + ic == X) {
              count++;
            }
          }
        }
      }
		// 出力
		System.out.println(count);
	}
} Main
import 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();
      X /= 50;
        int count = 0;
      for (int ia = 0; ia <= A; ia++) {
       	for (int ib = 0; ib <= B; ib++) {
          for (int ic = 0; ic <= C; ic++) {
            if (10 * ia + 2 * ib + ic == X) {
              count++;
            }
          }
        }
      }
		// 出力
		System.out.println(count);
	}
}