#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N=1e6+5;
const int mod=1e9+7;
ll ksm(ll x,int n){
	ll res=1;
	while(n){
		if(n&1)res=res*x%mod;
		x=x*x%mod;n>>=1;
	}
	return res;
}
int n;
ll fac[N],ifac[N];
inline ll C(int n,int m){
	if(n<m||m<0)return 0;
	return fac[n]*ifac[m]%mod*ifac[n-m]%mod;
}
int main()
{
	cin>>n;
	fac[0]=ifac[0]=1;
	for(int i=1;i<=n;i++)fac[i]=fac[i-1]*i%mod;
	ifac[n]=ksm(fac[n],mod-2);
	for(int i=n-1;i>=1;i--)ifac[i]=ifac[i+1]*(i+1)%mod;
	
	ll ans=0,now;
	int x=(n-1)/2+1;if(x%2==1)x++;
	for(;x<n;x+=2){
		now=2ll*(C(x,n-x)+C(x-1,n-x-1))%mod;
		now=now*fac[x]%mod;
		ans=(ans+now)%mod;
	}
	if(x==n)ans=(ans+2*fac[x])%mod;
	cout<<ans<<endl;
	return 0;
}