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 sumv, cnt=0;
	for ( int i=0; i<a+1; i++ ) {
	    for ( int j=0; j<b+1; j++ ) {
		for ( int k=0; k<c+1; k++ ) {
		    sumv = 500*i + 100*j + 50*k;
		    if ( sumv == x ) {
			cnt++;
		    }
		}
	    }
	}
	System.out.println(cnt);
    }
    
} 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 sumv, cnt=0;
	for ( int i=0; i<a+1; i++ ) {
	    for ( int j=0; j<b+1; j++ ) {
		for ( int k=0; k<c+1; k++ ) {
		    sumv = 500*i + 100*j + 50*k;
		    if ( sumv == x ) {
			cnt++;
		    }
		}
	    }
	}
	System.out.println(cnt);
    }
    
} 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 sumv, cnt=0;
	for ( int i=0; i<a+1; i++ ) {
	    for ( int j=0; j<b+1; j++ ) {
		for ( int k=0; k<c+1; k++ ) {
		    sumv = 500*i + 100*j + 50*k;
		    if ( sumv == x ) {
			cnt++;
		    }
		}
	    }
	}
	System.out.println(cnt);
    } main {
	Scanner sc = new Scanner(System.in);

	int a = sc.nextInt();
	int b = sc.nextInt();
	int c = sc.nextInt();
	int x = sc.nextInt();

	int sumv, cnt=0;
	for ( int i=0; i<a+1; i++ ) {
	    for ( int j=0; j<b+1; j++ ) {
		for ( int k=0; k<c+1; k++ ) {
		    sumv = 500*i + 100*j + 50*k;
		    if ( sumv == x ) {
			cnt++;
		    }
		}
	    }
	}
	System.out.println(cnt);
    } 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 sumv sumv cnt=0; cnt 0 for ( int i=0; i<a+1; i++ ) {
	    for ( int j=0; j<b+1; j++ ) {
		for ( int k=0; k<c+1; k++ ) {
		    sumv = 500*i + 100*j + 50*k;
		    if ( sumv == x ) {
			cnt++;
		    }
		}
	    }
	} int i=0; int i=0; i 0 i<a+1 i a+1 a 1 i++ i++ i {
	    for ( int j=0; j<b+1; j++ ) {
		for ( int k=0; k<c+1; k++ ) {
		    sumv = 500*i + 100*j + 50*k;
		    if ( sumv == x ) {
			cnt++;
		    }
		}
	    }
	} {
	    for ( int j=0; j<b+1; j++ ) {
		for ( int k=0; k<c+1; k++ ) {
		    sumv = 500*i + 100*j + 50*k;
		    if ( sumv == x ) {
			cnt++;
		    }
		}
	    }
	} for ( int j=0; j<b+1; j++ ) {
		for ( int k=0; k<c+1; k++ ) {
		    sumv = 500*i + 100*j + 50*k;
		    if ( sumv == x ) {
			cnt++;
		    }
		}
	    } int j=0; int j=0; j 0 j<b+1 j b+1 b 1 j++ j++ j {
		for ( int k=0; k<c+1; k++ ) {
		    sumv = 500*i + 100*j + 50*k;
		    if ( sumv == x ) {
			cnt++;
		    }
		}
	    } {
		for ( int k=0; k<c+1; k++ ) {
		    sumv = 500*i + 100*j + 50*k;
		    if ( sumv == x ) {
			cnt++;
		    }
		}
	    } for ( int k=0; k<c+1; k++ ) {
		    sumv = 500*i + 100*j + 50*k;
		    if ( sumv == x ) {
			cnt++;
		    }
		} int k=0; int k=0; k 0 k<c+1 k c+1 c 1 k++ k++ k {
		    sumv = 500*i + 100*j + 50*k;
		    if ( sumv == x ) {
			cnt++;
		    }
		} {
		    sumv = 500*i + 100*j + 50*k;
		    if ( sumv == x ) {
			cnt++;
		    }
		} sumv = 500*i + 100*j + 50*k sumv 500*i + 100*j + 50*k 500*i + 100*j + 50*k 500*i 500 i 100*j 100 j 50*k 50 k if ( sumv == x ) {
			cnt++;
		    } sumv == x sumv x {
			cnt++;
		    } cnt++ cnt System.out.println(cnt) System.out.println System.out System System.out cnt 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 sumv, cnt=0;
	for ( int i=0; i<a+1; i++ ) {
	    for ( int j=0; j<b+1; j++ ) {
		for ( int k=0; k<c+1; k++ ) {
		    sumv = 500*i + 100*j + 50*k;
		    if ( sumv == x ) {
			cnt++;
		    }
		}
	    }
	}
	System.out.println(cnt);
    }
    
} 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 sumv, cnt=0;
	for ( int i=0; i<a+1; i++ ) {
	    for ( int j=0; j<b+1; j++ ) {
		for ( int k=0; k<c+1; k++ ) {
		    sumv = 500*i + 100*j + 50*k;
		    if ( sumv == x ) {
			cnt++;
		    }
		}
	    }
	}
	System.out.println(cnt);
    }
    
} 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 sumv, cnt=0;
	for ( int i=0; i<a+1; i++ ) {
	    for ( int j=0; j<b+1; j++ ) {
		for ( int k=0; k<c+1; k++ ) {
		    sumv = 500*i + 100*j + 50*k;
		    if ( sumv == x ) {
			cnt++;
		    }
		}
	    }
	}
	System.out.println(cnt);
    }
    
}