#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include // C++ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define rep(i,j,k) for(int i=(int)j;i<(int)k;i++) #define ll long long //#define all(v) ((v).begin(),(v).end()) #define Sort(v) sort(all(v)) #define INF 1000000000 #define END return 0 #define pb push_back #define se second #define fi first #define pb push_back #define all(v) (v).begin() , (v).end() #define MP make_pair #define MOD 1000000007LL; using namespace std; int day[12]={31,28,31,30,31,30,31,31,30,31,30,31}; int main(){ int n; cin>>n; ll odd=0,even=0; vector v(100010); v[0]=odd=1; rep(i,1,n){ //odd if(i%2==0){ v[i]=((i+1)*even)%MOD; odd+=v[i]; odd%=MOD; }//even else { v[i]=((i+1)*odd)%MOD; even+=v[i]; even%=MOD; } //cout<