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
#include <bits/stdc++.h>
using namespace std;
int pel(string s) {
  string t;
  t = s;
  reverse(t.begin(), t.end());
  if (s == t) return 1;
  return 0;
}
string toString(int n) {
  ostringstream ost;
  ost << n;
  ost.flush();
  return ost.str();
}
int toInt(string s) {
  int r = 0;
  istringstream sin(s);
  sin >> r;
  return r;
}
bool isprime(int m) {
  if (m < 2) return 0;
  for (int i = 2; i * i <= m; i++)
    if (m % i == 0) return 0;
  return 1;
  return 0;
}
inline bool iseq(double x, double y) {
  if (fabs(x - y) < 1e-8) return true;
  return false;
}
template <typename T>
inline double hpt(T x1, T y1, T x2, T y2) {
  return hypot(x1 - x2, y1 - y2);
}
template <typename T>
inline T gcd(T a, T b) {
  if (!b)
    return a;
  else
    return gcd(b, a % b);
}
template <typename T>
inline void extended_euclid(T a, T b, T &x, T &y) {
  if (a % b == 0)
    x = 0, y = 1;
  else {
    extended_euclid(b, a % b, x, y);
    T temp = x;
    x = y;
    y = -y * (a / b) + temp;
  }
}
template <typename T>
inline T bigmod(T b, T p, T m) {
  if (!p)
    return 1;
  else if (!(p % 2)) {
    T x = bigmod(b, p / 2, m);
    return x * x;
  } else
    return ((b % m) * bigmod(b, p - 1, m)) % m;
}
int prime[5 / 32 + 1];
void setbit(int i) {
  int p = i >> 5, q = i & 31;
  prime[p] |= (1 << q);
}
bool checkbit(int i) {
  int p = i >> 5, q = i & 31;
  return prime[p] & (1 << q) ? true : false;
}
void buildprime(int n) {
  int i, j, k = sqrt(double(n));
  prime[0] = 3;
  for (i = 4; i < n; i += 2) setbit(i);
  for (i = 3; i <= k; i += 2) {
    if (!checkbit(i)) {
      int ii = i + i;
      for (j = i * i; j < n; j += ii) setbit(j);
    }
  }
}
long long nCr(int n, int m) {
  long int k;
  register int i, j;
  double c, d;
  c = d = 1;
  k = (m > (n - m)) ? m : (n - m);
  for (j = 1, i = k + 1; (i <= n); i++, j++) {
    c *= i;
    d *= j;
    if (!fmod(c, d) && (d != 1)) {
      c /= d;
      d = 1;
    }
  }
  return c;
}
int main() {
  int test, Case = 0;
  int boys, girls, total;
  cin >> boys >> girls >> total;
  long long res = 0;
  for (int i = 4; i <= boys; i++) {
    for (int j = 1; j <= girls; j++) {
      if (i + j == total) {
        res += (nCr(boys, i) * nCr(girls, j));
      }
    }
  }
  cout << res << endl;
  return 0;
}
