import java.util.*;

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 count = 0;
    for(int ca = 0 ; ca < A+1 ; ++ca){
    	for(int cb = 0 ; cb < B+1 ; ++cb){ 
  		   for(int cc = 0 ; cc < C+1 ; ++cc){
             if( (ca*500 + cb*100 + cc *50) == X){
               ++count;
             }
           }
        }
    }
      
      
    System.out.println(count);
    }	
      
  
  
} import java.util.*; util.* java 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 count = 0;
    for(int ca = 0 ; ca < A+1 ; ++ca){
    	for(int cb = 0 ; cb < B+1 ; ++cb){ 
  		   for(int cc = 0 ; cc < C+1 ; ++cc){
             if( (ca*500 + cb*100 + cc *50) == 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();
	int count = 0;
    for(int ca = 0 ; ca < A+1 ; ++ca){
    	for(int cb = 0 ; cb < B+1 ; ++cb){ 
  		   for(int cc = 0 ; cc < C+1 ; ++cc){
             if( (ca*500 + cb*100 + cc *50) == 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();
	int count = 0;
    for(int ca = 0 ; ca < A+1 ; ++ca){
    	for(int cb = 0 ; cb < B+1 ; ++cb){ 
  		   for(int cc = 0 ; cc < C+1 ; ++cc){
             if( (ca*500 + cb*100 + cc *50) == 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 int count = 0; count 0 for(int ca = 0 ; ca < A+1 ; ++ca){
    	for(int cb = 0 ; cb < B+1 ; ++cb){ 
  		   for(int cc = 0 ; cc < C+1 ; ++cc){
             if( (ca*500 + cb*100 + cc *50) == X){
               ++count;
             }
           }
        }
    } int ca = 0 ; int ca = 0 ; ca 0 ca < A+1 ca A+1 A 1 ++ca ++ca ca {
    	for(int cb = 0 ; cb < B+1 ; ++cb){ 
  		   for(int cc = 0 ; cc < C+1 ; ++cc){
             if( (ca*500 + cb*100 + cc *50) == X){
               ++count;
             }
           }
        }
    } {
    	for(int cb = 0 ; cb < B+1 ; ++cb){ 
  		   for(int cc = 0 ; cc < C+1 ; ++cc){
             if( (ca*500 + cb*100 + cc *50) == X){
               ++count;
             }
           }
        }
    } for(int cb = 0 ; cb < B+1 ; ++cb){ 
  		   for(int cc = 0 ; cc < C+1 ; ++cc){
             if( (ca*500 + cb*100 + cc *50) == X){
               ++count;
             }
           }
        } int cb = 0 ; int cb = 0 ; cb 0 cb < B+1 cb B+1 B 1 ++cb ++cb cb { 
  		   for(int cc = 0 ; cc < C+1 ; ++cc){
             if( (ca*500 + cb*100 + cc *50) == X){
               ++count;
             }
           }
        } { 
  		   for(int cc = 0 ; cc < C+1 ; ++cc){
             if( (ca*500 + cb*100 + cc *50) == X){
               ++count;
             }
           }
        } for(int cc = 0 ; cc < C+1 ; ++cc){
             if( (ca*500 + cb*100 + cc *50) == X){
               ++count;
             }
           } int cc = 0 ; int cc = 0 ; cc 0 cc < C+1 cc C+1 C 1 ++cc ++cc cc {
             if( (ca*500 + cb*100 + cc *50) == X){
               ++count;
             }
           } {
             if( (ca*500 + cb*100 + cc *50) == X){
               ++count;
             }
           } if( (ca*500 + cb*100 + cc *50) == X){
               ++count;
             } (ca*500 + cb*100 + cc *50) == X (ca*500 + cb*100 + cc *50) ca*500 + cb*100 + cc *50 ca*500 ca 500 cb*100 cb 100 cc *50 cc 50 X {
               ++count;
             } ++count count System.out.println(count) System.out.println System.out System System.out count String[] args args
import java.util.*;

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 count = 0;
    for(int ca = 0 ; ca < A+1 ; ++ca){
    	for(int cb = 0 ; cb < B+1 ; ++cb){ 
  		   for(int cc = 0 ; cc < C+1 ; ++cc){
             if( (ca*500 + cb*100 + cc *50) == X){
               ++count;
             }
           }
        }
    }
      
      
    System.out.println(count);
    }	
      
  
  
}