#include <cstdio>
using namespace std;
typedef long long LL;
const int MOD = 1000000007;
int a[100005];
int r[100005];
int main(){
a[1]=a[2]=0;
r[1]=a[3]=1;
for(int i=4;i<100005;i++){
int x=i-2;
r[x]=r[MOD%x]*LL(MOD-MOD/x)%MOD;
int aa=(i-2ll)*i%MOD*a[i-1]%MOD;
int bb=(a[i-2]*LL(i)+(i&1?4:MOD-4))%MOD;
a[i]=LL(aa+bb)*r[x]%MOD;
}
for(int n;scanf("%d",&n)==1;printf("%d\n",a[n]));
}
I2luY2x1ZGUgPGNzdGRpbz4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnR5cGVkZWYgbG9uZyBsb25nIExMOwpjb25zdCBpbnQgTU9EID0gMTAwMDAwMDAwNzsKCmludCBhWzEwMDAwNV07CmludCByWzEwMDAwNV07CgppbnQgbWFpbigpewogICAgYVsxXT1hWzJdPTA7CiAgICByWzFdPWFbM109MTsKICAgIGZvcihpbnQgaT00O2k8MTAwMDA1O2krKyl7CiAgICAgICAgaW50IHg9aS0yOwogICAgICAgIHJbeF09cltNT0QleF0qTEwoTU9ELU1PRC94KSVNT0Q7CiAgICAgICAgaW50IGFhPShpLTJsbCkqaSVNT0QqYVtpLTFdJU1PRDsKICAgICAgICBpbnQgYmI9KGFbaS0yXSpMTChpKSsoaSYxPzQ6TU9ELTQpKSVNT0Q7CiAgICAgICAgYVtpXT1MTChhYStiYikqclt4XSVNT0Q7CiAgICB9CiAgICBmb3IoaW50IG47c2NhbmYoIiVkIiwmbik9PTE7cHJpbnRmKCIlZFxuIixhW25dKSk7Cn0K