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.io.PrintWriter;
import java.util.StringTokenizer;

public class TheWorldIsAThreatre {

  public static void main(String[] args) {
    FastReader reader = new FastReader();
    PrintWriter writer = new PrintWriter(System.out);

    long n = reader.nextLong();
    long m = reader.nextLong();
    long t = reader.nextLong();

    // Pascal's Triangle property to calculate combinations
    long[][] c = new long[61][61];
    for (int i = 0; i < 61; i++) {
      c[i][0] = c[i][i] = 1;
      for (int j = 1; j < i; j++)
        c[i][j] = c[i - 1][j] + c[i - 1][j - 1];
    }

    long ans = 0;
    long remainingSlot;
    for (long i = 1; i <= t - 4; i++) {
      remainingSlot = t - i;
      ans += (c[(int) n][(int) remainingSlot] * c[(int) m][(int) i]);
    }
    writer.println(ans);
    writer.flush();
    writer.close();
    System.out.println(ans);
  }

  private static class FastReader {
    BufferedReader br;
    StringTokenizer st;

    public FastReader() {
      br = new BufferedReader(new InputStreamReader(System.in));
    }

    String next() {
      while (st == null || !st.hasMoreElements()) {
        try {
          st = new StringTokenizer(br.readLine());
        } catch (IOException e) {
          e.printStackTrace();
        }
      }
      return st.nextToken();
    }

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

    long nextLong() {
      return Long.parseLong(next());
    }

    double nextDouble() {
      return Double.parseDouble(next());
    }

    String nextLine() {
      String str = "";
      try {
        str = br.readLine();
      } catch (Exception e) {
        e.printStackTrace();
      }
      return str;
    }
  }
}
