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
// package mainpackage;

import java.io.*;
import java.util.*;

public class Main {
	public static void main(String... args) throws Exception {
		new Main().solve();
	}
	
	private BufferedReader reader;
	private StringTokenizer st;
	private int n, m, t;
	private long[][] c = new long[31][31];
	
	private void solve() throws Exception {
		
		reader = new BufferedReader(new InputStreamReader(System.in));
		
		st = new StringTokenizer(reader.readLine());
		n = Integer.parseInt(st.nextToken());
		m = Integer.parseInt(st.nextToken());
		t = Integer.parseInt(st.nextToken());
		
		reader.close();
		
		for (int i = 0; i < 30; ++i) {
			c[0][i] = 0;
			c[i][0] = 1;
		}
		
		for (int i = 1; i <= 30; ++i) {
			for (int j = 1; j <= i; ++j) {
				c[i][j] = c[i - 1][j - 1] + c[i - 1][j];
			}
		}
		
		int border1 = Math.max(t - m, 4);
		int border2 = Math.min(t - 1, n);
		
//		System.out.printf("border1=%d, border2=%d%n", border1, border2);
		
		long ans = 0L;
		for (int k = border1; k <= border2; ++k) {
			
			ans += c[n][k] * c[m][t - k];
			
//			System.out.printf("c[%d][%d] * c[%d][%d] = %d * %d = %d%n", n, k, m, t - k, c[n][k], c[m][t - k], c[n][k] * c[m][t - k]);
		}
		
		System.out.println(ans);
	}
}
