import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		atcode();
	}

	public static void atcode() {
		Scanner sc=new Scanner(System.in);
		List<Integer> input=new ArrayList<Integer>();
		while(sc.hasNextLine()) {
			input.add(Integer.valueOf(sc.nextLine()));
		}
		int X=input.get(3);
		Integer count=0;
		for(int a=input.get(0);a>=0;a--) {
			for(int b=input.get(1);b>=0;b--) {
				for(int c=input.get(2);c>=0;c--) {
					Integer price=500*a+100*b+50*c;
					if(price==X){
						count++;
					}
				}
			}
		}
		System.out.println(count);
	}
} import java.util.ArrayList; ArrayList java.util import java.util.List; List java.util import java.util.Scanner; Scanner java.util public class Main {
	public static void main(String[] args) {
		atcode();
	}

	public static void atcode() {
		Scanner sc=new Scanner(System.in);
		List<Integer> input=new ArrayList<Integer>();
		while(sc.hasNextLine()) {
			input.add(Integer.valueOf(sc.nextLine()));
		}
		int X=input.get(3);
		Integer count=0;
		for(int a=input.get(0);a>=0;a--) {
			for(int b=input.get(1);b>=0;b--) {
				for(int c=input.get(2);c>=0;c--) {
					Integer price=500*a+100*b+50*c;
					if(price==X){
						count++;
					}
				}
			}
		}
		System.out.println(count);
	}
} Main public static void main(String[] args) {
		atcode();
	} main {
		atcode();
	} atcode() atcode String[] args args public static void atcode() {
		Scanner sc=new Scanner(System.in);
		List<Integer> input=new ArrayList<Integer>();
		while(sc.hasNextLine()) {
			input.add(Integer.valueOf(sc.nextLine()));
		}
		int X=input.get(3);
		Integer count=0;
		for(int a=input.get(0);a>=0;a--) {
			for(int b=input.get(1);b>=0;b--) {
				for(int c=input.get(2);c>=0;c--) {
					Integer price=500*a+100*b+50*c;
					if(price==X){
						count++;
					}
				}
			}
		}
		System.out.println(count);
	} atcode {
		Scanner sc=new Scanner(System.in);
		List<Integer> input=new ArrayList<Integer>();
		while(sc.hasNextLine()) {
			input.add(Integer.valueOf(sc.nextLine()));
		}
		int X=input.get(3);
		Integer count=0;
		for(int a=input.get(0);a>=0;a--) {
			for(int b=input.get(1);b>=0;b--) {
				for(int c=input.get(2);c>=0;c--) {
					Integer price=500*a+100*b+50*c;
					if(price==X){
						count++;
					}
				}
			}
		}
		System.out.println(count);
	} Scanner sc=new Scanner(System.in); sc new Scanner(System.in) List<Integer> input=new ArrayList<Integer>(); input new ArrayList<Integer>() while(sc.hasNextLine()) {
			input.add(Integer.valueOf(sc.nextLine()));
		} sc.hasNextLine() sc.hasNextLine sc {
			input.add(Integer.valueOf(sc.nextLine()));
		} input.add(Integer.valueOf(sc.nextLine())) input.add input Integer.valueOf(sc.nextLine()) Integer.valueOf Integer sc.nextLine() sc.nextLine sc int X=input.get(3); X input.get(3) input.get input 3 Integer count=0; count 0 for(int a=input.get(0);a>=0;a--) {
			for(int b=input.get(1);b>=0;b--) {
				for(int c=input.get(2);c>=0;c--) {
					Integer price=500*a+100*b+50*c;
					if(price==X){
						count++;
					}
				}
			}
		} int a=input.get(0); int a=input.get(0); a input.get(0) input.get input 0 a>=0 a 0 a-- a-- a {
			for(int b=input.get(1);b>=0;b--) {
				for(int c=input.get(2);c>=0;c--) {
					Integer price=500*a+100*b+50*c;
					if(price==X){
						count++;
					}
				}
			}
		} {
			for(int b=input.get(1);b>=0;b--) {
				for(int c=input.get(2);c>=0;c--) {
					Integer price=500*a+100*b+50*c;
					if(price==X){
						count++;
					}
				}
			}
		} for(int b=input.get(1);b>=0;b--) {
				for(int c=input.get(2);c>=0;c--) {
					Integer price=500*a+100*b+50*c;
					if(price==X){
						count++;
					}
				}
			} int b=input.get(1); int b=input.get(1); b input.get(1) input.get input 1 b>=0 b 0 b-- b-- b {
				for(int c=input.get(2);c>=0;c--) {
					Integer price=500*a+100*b+50*c;
					if(price==X){
						count++;
					}
				}
			} {
				for(int c=input.get(2);c>=0;c--) {
					Integer price=500*a+100*b+50*c;
					if(price==X){
						count++;
					}
				}
			} for(int c=input.get(2);c>=0;c--) {
					Integer price=500*a+100*b+50*c;
					if(price==X){
						count++;
					}
				} int c=input.get(2); int c=input.get(2); c input.get(2) input.get input 2 c>=0 c 0 c-- c-- c {
					Integer price=500*a+100*b+50*c;
					if(price==X){
						count++;
					}
				} {
					Integer price=500*a+100*b+50*c;
					if(price==X){
						count++;
					}
				} Integer price=500*a+100*b+50*c; price 500*a+100*b+50*c 500*a+100*b+50*c 500*a 500 a 100*b 100 b 50*c 50 c if(price==X){
						count++;
					} price==X price X {
						count++;
					} count++ count System.out.println(count) System.out.println System.out System System.out count public class Main {
	public static void main(String[] args) {
		atcode();
	}

	public static void atcode() {
		Scanner sc=new Scanner(System.in);
		List<Integer> input=new ArrayList<Integer>();
		while(sc.hasNextLine()) {
			input.add(Integer.valueOf(sc.nextLine()));
		}
		int X=input.get(3);
		Integer count=0;
		for(int a=input.get(0);a>=0;a--) {
			for(int b=input.get(1);b>=0;b--) {
				for(int c=input.get(2);c>=0;c--) {
					Integer price=500*a+100*b+50*c;
					if(price==X){
						count++;
					}
				}
			}
		}
		System.out.println(count);
	}
} public class Main {
	public static void main(String[] args) {
		atcode();
	}

	public static void atcode() {
		Scanner sc=new Scanner(System.in);
		List<Integer> input=new ArrayList<Integer>();
		while(sc.hasNextLine()) {
			input.add(Integer.valueOf(sc.nextLine()));
		}
		int X=input.get(3);
		Integer count=0;
		for(int a=input.get(0);a>=0;a--) {
			for(int b=input.get(1);b>=0;b--) {
				for(int c=input.get(2);c>=0;c--) {
					Integer price=500*a+100*b+50*c;
					if(price==X){
						count++;
					}
				}
			}
		}
		System.out.println(count);
	}
} Main
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		atcode();
	}

	public static void atcode() {
		Scanner sc=new Scanner(System.in);
		List<Integer> input=new ArrayList<Integer>();
		while(sc.hasNextLine()) {
			input.add(Integer.valueOf(sc.nextLine()));
		}
		int X=input.get(3);
		Integer count=0;
		for(int a=input.get(0);a>=0;a--) {
			for(int b=input.get(1);b>=0;b--) {
				for(int c=input.get(2);c>=0;c--) {
					Integer price=500*a+100*b+50*c;
					if(price==X){
						count++;
					}
				}
			}
		}
		System.out.println(count);
	}
}