#include<bits/stdc++.h>
using namespace std;
#define int long long

const int P=1e9+7;

int jicheng(int a){
	int ans=1;
	for(int i=2;i<=a;i++){
		ans=ans*i%P;
	}
	return ans;
}

int power(int a,int b,int p){
	int ans=1;
	while(b>0){
		if(b&1==1){
			ans=ans*a%p;
		}
		a=a*a%p;
		b=b>>1;
	}
	return ans;
}

int n;

void solve(){
	if(n<5){
		cout<<0<<endl;
		return;
	}
	else if(n==5){
		cout<<1<<endl;
		return;
	}else if(n==6){
		cout<<7<<endl;
		return;
	}else if(n==7){
		cout<<29<<endl;
		return;
	}
	
	int n_jicheng=jicheng(n);
	int five_jicheng=jicheng(5);
	int six_jicheng=jicheng(6);
	int seven_jicheng=jicheng(7);
	int n5_jicheng=jicheng(n-5);
	int n6_jicheng=jicheng(n-6);
	int n7_jicheng=jicheng(n-7);
	
	int n5_5_power=power(n5_jicheng,P-2,P)*power(five_jicheng,P-2,P)%P;
	int n6_6_power=power(n6_jicheng,P-2,P)*power(six_jicheng,P-2,P)%P;
	int n7_7_power=power(n7_jicheng,P-2,P)*power(seven_jicheng,P-2,P)%P;
	
	int res=(n5_5_power*n_jicheng%P+n6_6_power*n_jicheng%P+n7_7_power*n_jicheng%P)%P;
	
	cout<<res<<endl;
	
}

signed main(){
	ios::sync_with_stdio(false);
	cin.tie(0);
	cin>>n;
	
	solve();

    return 0;
}