#include <bits/stdc++.h>

using namespace std;

vector<vector<long long>> memo(201, vector<long long>(12, -1));

long long C(long long n, long long k) {
	if(memo[n][k] > 0) return memo[n][k];
	if(n == k) return memo[n][k] = 1;
	if(k == 0) return memo[n][k] = 1;
	return memo[n][k] = C(n - 1, k) + C(n - 1, k - 1);
}

int main(void) {
	long long L;
	cin >> L;
	cout << C(L - 1, 11) << '\n';
	return 0;
}


#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef long double ld;
using Graph = vector<vector<int>>;
const int INT_INF = 2147483647;
//stoi(s) : string→int stoll(s) :string→longlong  int→string to_string(i)
const double PI = acos(-1.0);
//小数点の表し方 cout << fixed << setprecision(5);
const ll LLMAX = 9223372036854775805;

ll powpow(ll x, ll n) {
  if (n == 0) return 1;
  ll val = powpow(x, n / 2);
  val *= val;
  if (n % 2 == 1) val *= x;
  return val;
}

int main(){
    ll n;
    cin >> n;
    ll ans = 1;

    for(ll i = 1;i<=11;i++){
        ans *= n-i;
        ans /= i;
    }
    cout << ans << endl;
}