import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int a = sc.nextInt(), b = sc.nextInt();
		int c = sc.nextInt(), x = sc.nextInt();
		sc.close();
		int tmpa = a, tmpb = b, tmpc = c, tmpx = x / 50;
		int r = tmpx % 2;
		int ans = 0;
		for (int i = r; i <= x; i += 2) {
			if(i > tmpc)break;
			int tmp = (tmpx - i) / 2;
			int tr = tmp % 5;
			for(int j = tr; j <= tmp; j += 5) {
				if(j > tmpb)break;
				int tmp2 = (tmp - j) / 5;
				if(tmp2 <= a && tmp >= 0)++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(), b = sc.nextInt();
		int c = sc.nextInt(), x = sc.nextInt();
		sc.close();
		int tmpa = a, tmpb = b, tmpc = c, tmpx = x / 50;
		int r = tmpx % 2;
		int ans = 0;
		for (int i = r; i <= x; i += 2) {
			if(i > tmpc)break;
			int tmp = (tmpx - i) / 2;
			int tr = tmp % 5;
			for(int j = tr; j <= tmp; j += 5) {
				if(j > tmpb)break;
				int tmp2 = (tmp - j) / 5;
				if(tmp2 <= a && tmp >= 0)++ans;
			}
		}
		System.out.println(ans);
	}

} Main public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int a = sc.nextInt(), b = sc.nextInt();
		int c = sc.nextInt(), x = sc.nextInt();
		sc.close();
		int tmpa = a, tmpb = b, tmpc = c, tmpx = x / 50;
		int r = tmpx % 2;
		int ans = 0;
		for (int i = r; i <= x; i += 2) {
			if(i > tmpc)break;
			int tmp = (tmpx - i) / 2;
			int tr = tmp % 5;
			for(int j = tr; j <= tmp; j += 5) {
				if(j > tmpb)break;
				int tmp2 = (tmp - j) / 5;
				if(tmp2 <= a && tmp >= 0)++ans;
			}
		}
		System.out.println(ans);
	} main {
		Scanner sc = new Scanner(System.in);
		int a = sc.nextInt(), b = sc.nextInt();
		int c = sc.nextInt(), x = sc.nextInt();
		sc.close();
		int tmpa = a, tmpb = b, tmpc = c, tmpx = x / 50;
		int r = tmpx % 2;
		int ans = 0;
		for (int i = r; i <= x; i += 2) {
			if(i > tmpc)break;
			int tmp = (tmpx - i) / 2;
			int tr = tmp % 5;
			for(int j = tr; j <= tmp; j += 5) {
				if(j > tmpb)break;
				int tmp2 = (tmp - j) / 5;
				if(tmp2 <= a && tmp >= 0)++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 b = sc.nextInt(); b sc.nextInt() sc.nextInt sc int c = sc.nextInt() c sc.nextInt() sc.nextInt sc x = sc.nextInt(); x sc.nextInt() sc.nextInt sc sc.close() sc.close sc int tmpa = a tmpa a tmpb = b tmpb b tmpc = c tmpc c tmpx = x / 50; tmpx x / 50 x 50 int r = tmpx % 2; r tmpx % 2 tmpx 2 int ans = 0; ans 0 for (int i = r; i <= x; i += 2) {
			if(i > tmpc)break;
			int tmp = (tmpx - i) / 2;
			int tr = tmp % 5;
			for(int j = tr; j <= tmp; j += 5) {
				if(j > tmpb)break;
				int tmp2 = (tmp - j) / 5;
				if(tmp2 <= a && tmp >= 0)++ans;
			}
		} int i = r; int i = r; i r i <= x i x i += 2 i += 2 i 2 {
			if(i > tmpc)break;
			int tmp = (tmpx - i) / 2;
			int tr = tmp % 5;
			for(int j = tr; j <= tmp; j += 5) {
				if(j > tmpb)break;
				int tmp2 = (tmp - j) / 5;
				if(tmp2 <= a && tmp >= 0)++ans;
			}
		} {
			if(i > tmpc)break;
			int tmp = (tmpx - i) / 2;
			int tr = tmp % 5;
			for(int j = tr; j <= tmp; j += 5) {
				if(j > tmpb)break;
				int tmp2 = (tmp - j) / 5;
				if(tmp2 <= a && tmp >= 0)++ans;
			}
		} if(i > tmpc)break; i > tmpc i tmpc break; int tmp = (tmpx - i) / 2; tmp (tmpx - i) / 2 (tmpx - i) tmpx i 2 int tr = tmp % 5; tr tmp % 5 tmp 5 for(int j = tr; j <= tmp; j += 5) {
				if(j > tmpb)break;
				int tmp2 = (tmp - j) / 5;
				if(tmp2 <= a && tmp >= 0)++ans;
			} int j = tr; int j = tr; j tr j <= tmp j tmp j += 5 j += 5 j 5 {
				if(j > tmpb)break;
				int tmp2 = (tmp - j) / 5;
				if(tmp2 <= a && tmp >= 0)++ans;
			} {
				if(j > tmpb)break;
				int tmp2 = (tmp - j) / 5;
				if(tmp2 <= a && tmp >= 0)++ans;
			} if(j > tmpb)break; j > tmpb j tmpb break; int tmp2 = (tmp - j) / 5; tmp2 (tmp - j) / 5 (tmp - j) tmp j 5 if(tmp2 <= a && tmp >= 0)++ans; tmp2 <= a && tmp >= 0 tmp2 <= a tmp2 a tmp >= 0 tmp 0 ++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(), b = sc.nextInt();
		int c = sc.nextInt(), x = sc.nextInt();
		sc.close();
		int tmpa = a, tmpb = b, tmpc = c, tmpx = x / 50;
		int r = tmpx % 2;
		int ans = 0;
		for (int i = r; i <= x; i += 2) {
			if(i > tmpc)break;
			int tmp = (tmpx - i) / 2;
			int tr = tmp % 5;
			for(int j = tr; j <= tmp; j += 5) {
				if(j > tmpb)break;
				int tmp2 = (tmp - j) / 5;
				if(tmp2 <= a && tmp >= 0)++ans;
			}
		}
		System.out.println(ans);
	}

} public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int a = sc.nextInt(), b = sc.nextInt();
		int c = sc.nextInt(), x = sc.nextInt();
		sc.close();
		int tmpa = a, tmpb = b, tmpc = c, tmpx = x / 50;
		int r = tmpx % 2;
		int ans = 0;
		for (int i = r; i <= x; i += 2) {
			if(i > tmpc)break;
			int tmp = (tmpx - i) / 2;
			int tr = tmp % 5;
			for(int j = tr; j <= tmp; j += 5) {
				if(j > tmpb)break;
				int tmp2 = (tmp - j) / 5;
				if(tmp2 <= a && tmp >= 0)++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(), b = sc.nextInt();
		int c = sc.nextInt(), x = sc.nextInt();
		sc.close();
		int tmpa = a, tmpb = b, tmpc = c, tmpx = x / 50;
		int r = tmpx % 2;
		int ans = 0;
		for (int i = r; i <= x; i += 2) {
			if(i > tmpc)break;
			int tmp = (tmpx - i) / 2;
			int tr = tmp % 5;
			for(int j = tr; j <= tmp; j += 5) {
				if(j > tmpb)break;
				int tmp2 = (tmp - j) / 5;
				if(tmp2 <= a && tmp >= 0)++ans;
			}
		}
		System.out.println(ans);
	}

}
