#define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define INF (1<<29) #define rep(i,n) for(int i=0;i<(int)(n);i++) #define all(v) v.begin(),v.end() #define uniq(v) v.erase(unique(all(v)),v.end()) #define MOD 1000000007 int main() { ios::sync_with_stdio(0); cin.tie(0); int n; long long s1=1, s2=0; cin>>n; long long a=1; for (int i=2;i<=n;i++){ if (i % 2 ==0){ a = i*s1 %MOD; s2 += a; s2%=MOD; } else{ a = i*s2%MOD; s1+=a; s1%=MOD; } } cout<