#include<bits/stdc++.h>
#define int long long 
#define re register 
using namespace std;
const int MAXN = 1234567 ;
const int mod=1e9+7;
int jie[MAXN],inv[MAXN],n;
void init(){
	jie[0]=jie[1]=inv[0]=inv[1]=1;
	for(re int i=2;i<=n;i++){
		jie[i]=jie[i-1]*i%mod;
		inv[i]=(mod-mod/i)*inv[mod%i]%mod;
	}
	for(re int i=2;i<=n;i++) inv[i]=(inv[i]*inv[i-1])%mod;
}
inline int C(int a,int b){
	if(a<0||b<0) return 0;
 	return jie[b]*inv[a]%mod*inv[b-a]%mod; 
}
signed main(){
	scanf("%lld",&n);
	init();
	int ans=0;
	for(re int x=(n+1)/2;x<=n;x++){
		if(x&1ll) continue;
		ans=(ans+2*(C(n-x,x)+C(n-x-1,x-1))%mod*jie[x]%mod)%mod;
	}
	printf("%lld\n",ans);
	return 0;
}