func_code_string: #include <bits/stdc++.h>   using namespace std;   const int N = 1e6 + 10;   const int MOD = 1e9 + 7;   int n, revfact[N << 1], fact[N << 1];   int mul(int, int);   int sum(int, int);   int pow(int, int);   int choose(int, int);   int32_t main() {     cin >> n;     fact[0] = 1;     for (int i = 1; i < 2 * n + 3; i++) fact[i] = mul(fact[i - 1], i);     for (int i = 0; i < 2 * n + 3; i++) revfact[i] = pow(fact[i], MOD - 2);     int res = choose((2 * n) + 2, n + 1) - 1;     if (res < 0) res += MOD;     cout << res << endl;   }   int mul(int a, int b) { return 1LL * a * b % MOD; }   int sum(int a, int b) {     int c = a + b;     if (c >= MOD) c -= MOD;     return c;   }   int pow(int n, int md) {     int res = 1;     for (; md; md /= 2) {       if (md % 2 == 1) res = mul(res, n);       n = mul(n, n);     }     return res;   }   int choose(int m, int k) {     return mul(fact[m], mul(revfact[k], revfact[m - k]));   }   