#include #include #include #include #include #include #include #include #include #include #include #include #include #include #define all(x) (x).begin(),(x).end() #define rall(x) (x).rbegin(),(x).rend() using namespace std; typedef long long ll; typedef pair pi; typedef pair pl; typedef pair plc; ll mod = ll(1e9 + 7); ll memo[100010]; int n; int dfs(int x, int m) { ll sum = 0; if (x == 1)return 1; if (memo[x])return memo[x]; if (x % 2 == 0) { for (int i = 1; i <= m- 1; i += 2){ sum += dfs(i,i); sum %= mod; } return memo[m] = (sum * m) % mod; } else { for (int i = 2; i <= m - 1; i += 2) { sum += dfs(i,i); sum %= mod; } return memo[m] = (sum * m) % mod; } } int main() { cin >> n; cout << dfs(n,n) << endl; return 0; }