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.util.StringTokenizer;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.math.BigInteger;
import static java.lang.System.*;
import java.util.List;
import java.util.ArrayList;
import java.util.Scanner;

public class twt {

    static BufferedReader br;
    static Scanner sc = new Scanner(System.in);

    public static void init() {
        br = new BufferedReader(new InputStreamReader(System.in));
    }

    public static String getString() {
        try {
            if (br == null) {
                init();
            }
            return br.readLine();
        } catch (Exception e) {
        }
        return "";
    }

    public static Integer getInt() {
        try {
            if (br == null) {
                init();
            }
            return Integer.parseInt(br.readLine());
        } catch (Exception e) {
        }
        return 0;
    }

    public static Integer[] getIntArr() {
        try {
            if (br == null) {
                init();
            }
            String temp[] = br.readLine().split(" ");
            Integer temp2[] = new Integer[temp.length];
            for (int i = 0; i < temp.length; i++) {
                temp2[i] = Integer.parseInt(temp[i]);
            }
            return temp2;
        } catch (Exception e) {
        }
        return null;
    }

    public static int getMax(Integer[] ar) {
        int t = ar[0];
        for (int i = 0; i < ar.length; i++) {
            if (ar[i] > t) {
                t = ar[i];
            }
        }
        return t;
    }

    public static void printList(List<Integer> a) {
        System.out.println(a.toString().replace("[", "").replace("]", "").replace(",", ""));
    }

    public static void print(Object a) {
        out.println(a);
    }

    public static BigInteger getFact(long in) {
        BigInteger ot = new BigInteger("1");
        for (Integer i = 1; i <= in; i++) {
            ot=ot.multiply(new BigInteger(i.toString()));
        }
        return ot;
    }

    public static void main(String[] ar) {
        long n = sc.nextInt();
        long m = sc.nextInt();
        long t = sc.nextInt();

        long maxP = 4, minP = 4;
        long maxW = 1, minW = 1;

        for (long i = t; i - maxP > 1 && maxP<n; maxP++) {
        }
        for (long i = t; i - maxW > 4 && maxW<m; maxW++) {
        }
        BigInteger factP = getFact(n);
        BigInteger factW = getFact(m);
        BigInteger a=new BigInteger("0"),b=new BigInteger("0");
        //print(factP);
        for (long i = minP; i <= maxP; i++) {
            long jmlW = t - i;
            //print(jmlW);
            if (jmlW <= m) {
                //print(i+"laki2"+" dan "+jmlW+" wanita");                
                //long temp = (factP / (getFact(n-i)*getFact(i)));
                BigInteger temp = factP.divide(getFact(n-i)).divide(getFact(i));
                //long temp2 = (factW/(getFact(m-jmlW)*getFact(jmlW)));
                BigInteger temp2 = factW.divide(getFact(m-jmlW)).divide(getFact(jmlW));
                a=a.add(temp.multiply(temp2));
               //print(temp.multiply(temp2));
            }
        }
        /*
        for (long i = minW; i <= maxW; i++) {
            long jmlP = t - i;
            if (jmlP <= n) {
                //print(i+"wanita"+" dan "+jmlP+" laki2");
                long temp = (factW / (getFact(m-i)*getFact(i)))*(factP/(getFact(n-jmlP)*getFact(jmlP)));
                b+=temp;
            }
        }
         * 
         */
       
         
        print(a);
    }
}