There are n boys and m girls attending a theatre club. To set a play "The Big Bang Theory", they need to choose a group containing exactly t actors containing no less than 4 boys and no less than one girl. How many ways are there to choose a group? Of course, the variants that only differ in the composition of the troupe are considered different.

Perform all calculations in the 64-bit type: long long for С/С++, int64 for Delphi and long for Java.

Input

The only line of the input data contains three integers n, m, t (4 ≤ n ≤ 30, 1 ≤ m ≤ 30, 5 ≤ t ≤ n + m).

Output

Find the required number of ways.

Please do not use the %lld specificator to read or write 64-bit integers in С++. It is preferred to use cin, cout streams or the %I64d specificator.

Examples

Input

5 2 5


Output

10


Input

4 3 5


Output

3
import java.io.OutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.StringTokenizer;
import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.InputStream;
import java.math.BigInteger;

import javax.swing.text.StyledEditorKit.ForegroundAction;


public class Main {
    public static void main(String[] args) {
    	InputStream inputStream = System.in;
        OutputStream outputStream = System.out;
        InputReader in = new InputReader(inputStream);
        PrintWriter out = new PrintWriter(outputStream);
        TaskC solver = new TaskC();
        solver.solve(1, in, out);
        out.close();
    }

    static class TaskC {
               
        public void solve(int testNumber, InputReader in, PrintWriter out) {
               long n = in.nextInt() ;
               long m = in.nextInt() ; 
               long t = in.nextInt() ;
               
               long result = 0 ; 
               long maxi = Math.max(n, m) ; 
               long mini = Math.min(n, m) ;
               
               for (int i = 4; i<=n; i++) 
            
   				   if((t-i)<=m && (t-i)>=1){
   	            	   
   	            	   long a = (C(n,i)*C(m,t-i)) ; 
   	            	  
   					result = result + a ;
               }
               
               out.println(result);
           

            }
        
        public static long C(long n,long k){
        	if(k==0)
        		return 1 ;
			if (k==1)
				return n ;
			else
				
				return   C(n,k-1)*(n-k+1)/k ;
			
				
        }
               				
					
    	             
       
       
    
    }
    static class InputReader {
        public BufferedReader reader;
        public StringTokenizer tokenizer;

        public InputReader(InputStream stream) {
            reader = new BufferedReader(new InputStreamReader(stream), 32768);
            tokenizer = null;
        }

        public String next() {
            while (tokenizer == null || !tokenizer.hasMoreTokens()) {
                try {
                    tokenizer = new StringTokenizer(reader.readLine());
                } catch (IOException e) {
                    throw new RuntimeException(e);
                }
            }
            return tokenizer.nextToken();
        }

        public int nextInt() {
            return Integer.parseInt(next());
        }

    }
}