#include<bits/stdc++.h>
using namespace std;
const long long maxn=330;
long long n,f[maxn][maxn]={};
int main(){
	scanf("%lld",&n);
	f[0][0]=1;for(long long i=1;i<=n;i++){f[i][0]=1;for(long long j=1;j<=i;j++)f[i][j]=f[i-1][j-1]+f[i-1][j];}
	printf("%lld",f[n-1][11]);
	return 0;
}
#include <algorithm>
#include <bitset>
#include <cassert>
#include <cmath>
#include <climits>
#include <cstdlib>
#include <iostream>
#include <map>
#include <numeric>
#include <queue>
#include <set>
#include <string>
#include <vector>
#define DEBUG 1
using namespace std;
constexpr int kMod = 1000000007;
typedef long long LL;

int main() {
  int N; cin >> N;
  vector<LL> fact(N + 1);
  set<LL> s;
  for (int i = 2; i <= 11; ++i) s.insert(i);

  for (LL i = 0; i <= N-12; ++i) fact[i] = 1;
  for (LL i = N-11; i < N; ++i) {
    LL k = i;
    for (LL x : s) {
      if (k % x == 0) {
        k /= x;
        s.erase(x);
      }
    }
    fact[i] = k * fact[i-1];
  }
  for (auto x : s) {
    fact[N-1] /= x;
  }
  cout << fact[N-1] << endl;
}
