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.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigInteger;
import java.util.StringTokenizer;

public class C implements Runnable {

	private void Solution() throws IOException {
		BigInteger n = BigInteger.valueOf(nextLong());
		BigInteger m = BigInteger.valueOf(nextLong());
		BigInteger ans = BigInteger.valueOf(0);
		long t = nextLong();
		for (long i = 1; i <= t - 4; i ++) {
			BigInteger dev = BigInteger.valueOf(i), mal = BigInteger.valueOf(t).add(dev.negate());
			if (dev.compareTo(m) > 0 || mal.compareTo(n) > 0)
				continue;
			BigInteger a = fac(m).divide((fac(dev).multiply(fac(m.add(dev.negate())))));
			BigInteger b = fac(n).divide((fac(mal).multiply(fac(n.add(mal.negate())))));
			ans = ans.add(a.multiply(b));
		}
		System.out.println(ans);
	}
	
	BigInteger fac(BigInteger n) {
		if (n.equals(BigInteger.ZERO)) 
			return BigInteger.ONE;
		return n.multiply(fac(n.add(BigInteger.ONE.negate())));
	}

	public static void main(String[] args) {
		new C().run();
	}

	BufferedReader in;
	StringTokenizer tokenizer;

	public void run() {
		try {
			in = new BufferedReader(new InputStreamReader(System.in));
			tokenizer = null;
			Solution();
			in.close();
		} catch (Exception e) {
			e.printStackTrace();
			System.exit(1);
		}
	}

	long nextLong() throws IOException {
		return Long.parseLong(nextToken());
	}

	String nextToken() throws IOException {
		while (tokenizer == null || !tokenizer.hasMoreTokens())
			tokenizer = new StringTokenizer(in.readLine());
		return tokenizer.nextToken();
	}
}