#include<bits/stdc++.h>
using namespace std;
int main(){
  long long L,S=1;cin>>L;
  for(int X=1;X<12;X++){
    S*=L-X;S/=X;
  }
  cout<<S<<endl;
}
#pragma GCC optimize("Ofast")
#include<bits/stdc++.h>
#include<iostream>
#include<cmath>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace std;
using namespace __gnu_pbds;


#define mod 1000000007
#define one(x)   __builtin_popcountll(x)
#define zero(x)  __builtin_ctzll(x)
#define pp pair<ll,ll>
#define all(x) (x).begin(), (x).end()
#define removeDuplicates(a) a.resize(unique(all(a))-a.begin())
template<class T> using oset =tree<T, null_type, less<T>, rb_tree_tag,tree_order_statistics_node_update> ;
typedef long long int ll;


const int mxn = 2e5 + 10;


/*
ll n,q;
ll ar[200001];
ll t[800004];

 void build(ll index,ll l, ll r){
     if(l==r){
         t[index]=ar[l];
         return ;
     }
     ll mid=(l+r)/2 ;
     build(index*2,l,mid);
     build(index*2+1,mid+1,r);
     t[index]=t[index*2]^t[index*2+1];
 }

 void update(ll index, ll l ,ll r, ll pos, ll val){
     if(pos<l || pos>r){
         return;
     }
     if(l==r){
         t[index]=val;
         ar[l]=val;
         return ;
     }
     ll mid=(l+r)/2 ;
     update(index*2,l,mid,pos,val);
     update(index*2+1,mid+1,r,pos,val);
     t[index]=min(t[index*2],t[index*2+1]);
 }

 ll query(ll index,ll l, ll r, ll lq, ll rq){
     if(rq<l || lq>r){
         return 0;
     }
     if(lq<=l && r<=rq){
         return t[index];
     }

     ll mid=(l+r)/2 ;
     return query(index*2,l,mid,lq,rq)^query(index*2+1,mid+1,r,lq,rq);
 }*/

//ll a[mxn];

ll dp[12];
void subMain(){
    ll n;
    cin >> n;
    dp[0] = 1;
    while(--n){
        for(ll i = 10; i >= 0; i--){
            dp[i+1]+=dp[i];
        }
    }
    cout << dp[11];
}



int main(){

	ios_base::sync_with_stdio(false);
	cin.tie(0); cout.tie(0);

    /*ll t, i = 0;
	cin >> t;
	while(t--){
        //cout << "Case #" << i+1 << ": ";
        subMain();
        //i++;
	}*/
	subMain();
	cerr<<"Time : "<<1000*((double)clock())/(double)CLOCKS_PER_SEC<<"ms\n";
	return 0;
}




