

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 pattern = 0;
		for(int i = 0; i < A + 1; i++) {
			int sumi = 500 * i;
			if(!(sumi > X)) {
				for(int j = 0; j < B + 1; j++) {
					int sumj = sumi + 100 * j;
					if(!(sumj > X)) {
						if(!((X - sumj) / 50 > C)) {
							pattern++;
						}
					} else {
						break;
					}
				}
			} else {
				break;
			}
		}
		System.out.println(pattern);
	}

} 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 pattern = 0;
		for(int i = 0; i < A + 1; i++) {
			int sumi = 500 * i;
			if(!(sumi > X)) {
				for(int j = 0; j < B + 1; j++) {
					int sumj = sumi + 100 * j;
					if(!(sumj > X)) {
						if(!((X - sumj) / 50 > C)) {
							pattern++;
						}
					} else {
						break;
					}
				}
			} else {
				break;
			}
		}
		System.out.println(pattern);
	}

} 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 pattern = 0;
		for(int i = 0; i < A + 1; i++) {
			int sumi = 500 * i;
			if(!(sumi > X)) {
				for(int j = 0; j < B + 1; j++) {
					int sumj = sumi + 100 * j;
					if(!(sumj > X)) {
						if(!((X - sumj) / 50 > C)) {
							pattern++;
						}
					} else {
						break;
					}
				}
			} else {
				break;
			}
		}
		System.out.println(pattern);
	} main {
		Scanner sc = new Scanner(System.in);
		int A = sc.nextInt();
		int B = sc.nextInt();
		int C = sc.nextInt();
		int X = sc.nextInt();
		int pattern = 0;
		for(int i = 0; i < A + 1; i++) {
			int sumi = 500 * i;
			if(!(sumi > X)) {
				for(int j = 0; j < B + 1; j++) {
					int sumj = sumi + 100 * j;
					if(!(sumj > X)) {
						if(!((X - sumj) / 50 > C)) {
							pattern++;
						}
					} else {
						break;
					}
				}
			} else {
				break;
			}
		}
		System.out.println(pattern);
	} 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 pattern = 0; pattern 0 for(int i = 0; i < A + 1; i++) {
			int sumi = 500 * i;
			if(!(sumi > X)) {
				for(int j = 0; j < B + 1; j++) {
					int sumj = sumi + 100 * j;
					if(!(sumj > X)) {
						if(!((X - sumj) / 50 > C)) {
							pattern++;
						}
					} else {
						break;
					}
				}
			} else {
				break;
			}
		} int i = 0; int i = 0; i 0 i < A + 1 i A + 1 A 1 i++ i++ i {
			int sumi = 500 * i;
			if(!(sumi > X)) {
				for(int j = 0; j < B + 1; j++) {
					int sumj = sumi + 100 * j;
					if(!(sumj > X)) {
						if(!((X - sumj) / 50 > C)) {
							pattern++;
						}
					} else {
						break;
					}
				}
			} else {
				break;
			}
		} {
			int sumi = 500 * i;
			if(!(sumi > X)) {
				for(int j = 0; j < B + 1; j++) {
					int sumj = sumi + 100 * j;
					if(!(sumj > X)) {
						if(!((X - sumj) / 50 > C)) {
							pattern++;
						}
					} else {
						break;
					}
				}
			} else {
				break;
			}
		} int sumi = 500 * i; sumi 500 * i 500 i if(!(sumi > X)) {
				for(int j = 0; j < B + 1; j++) {
					int sumj = sumi + 100 * j;
					if(!(sumj > X)) {
						if(!((X - sumj) / 50 > C)) {
							pattern++;
						}
					} else {
						break;
					}
				}
			} else {
				break;
			} !(sumi > X) (sumi > X) sumi X {
				for(int j = 0; j < B + 1; j++) {
					int sumj = sumi + 100 * j;
					if(!(sumj > X)) {
						if(!((X - sumj) / 50 > C)) {
							pattern++;
						}
					} else {
						break;
					}
				}
			} for(int j = 0; j < B + 1; j++) {
					int sumj = sumi + 100 * j;
					if(!(sumj > X)) {
						if(!((X - sumj) / 50 > C)) {
							pattern++;
						}
					} else {
						break;
					}
				} int j = 0; int j = 0; j 0 j < B + 1 j B + 1 B 1 j++ j++ j {
					int sumj = sumi + 100 * j;
					if(!(sumj > X)) {
						if(!((X - sumj) / 50 > C)) {
							pattern++;
						}
					} else {
						break;
					}
				} {
					int sumj = sumi + 100 * j;
					if(!(sumj > X)) {
						if(!((X - sumj) / 50 > C)) {
							pattern++;
						}
					} else {
						break;
					}
				} int sumj = sumi + 100 * j; sumj sumi + 100 * j sumi 100 * j 100 j if(!(sumj > X)) {
						if(!((X - sumj) / 50 > C)) {
							pattern++;
						}
					} else {
						break;
					} !(sumj > X) (sumj > X) sumj X {
						if(!((X - sumj) / 50 > C)) {
							pattern++;
						}
					} if(!((X - sumj) / 50 > C)) {
							pattern++;
						} !((X - sumj) / 50 > C) ((X - sumj) / 50 > C) (X - sumj) / 50 (X - sumj) X sumj 50 C {
							pattern++;
						} pattern++ pattern {
						break;
					} break; {
				break;
			} break; System.out.println(pattern) System.out.println System.out System System.out pattern 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 pattern = 0;
		for(int i = 0; i < A + 1; i++) {
			int sumi = 500 * i;
			if(!(sumi > X)) {
				for(int j = 0; j < B + 1; j++) {
					int sumj = sumi + 100 * j;
					if(!(sumj > X)) {
						if(!((X - sumj) / 50 > C)) {
							pattern++;
						}
					} else {
						break;
					}
				}
			} else {
				break;
			}
		}
		System.out.println(pattern);
	}

} 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 pattern = 0;
		for(int i = 0; i < A + 1; i++) {
			int sumi = 500 * i;
			if(!(sumi > X)) {
				for(int j = 0; j < B + 1; j++) {
					int sumj = sumi + 100 * j;
					if(!(sumj > X)) {
						if(!((X - sumj) / 50 > C)) {
							pattern++;
						}
					} else {
						break;
					}
				}
			} else {
				break;
			}
		}
		System.out.println(pattern);
	}

} 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 pattern = 0;
		for(int i = 0; i < A + 1; i++) {
			int sumi = 500 * i;
			if(!(sumi > X)) {
				for(int j = 0; j < B + 1; j++) {
					int sumj = sumi + 100 * j;
					if(!(sumj > X)) {
						if(!((X - sumj) / 50 > C)) {
							pattern++;
						}
					} else {
						break;
					}
				}
			} else {
				break;
			}
		}
		System.out.println(pattern);
	}

}
