func_code_string: #include <bits/stdc++.h>   using namespace std;   const long long int p = 1e9 + 7;   const int N = 1e5 + 1;   long long int fact[N];   long long int ncr[N];   long long int n_1cr[N];   void factorial() {     fact[0] = fact[1] = 1;     for (int i = 2; i < N; i++) {       fact[i] = i * fact[i - 1];       fact[i] %= p;     }   }   long long int fastPower(long long int a, long long int b) {     if (b == 0) return 1;     long long int tmp = fastPower(a, b / 2);     if (b & 1) return (tmp % p * tmp % p * a % p) % p;     return (tmp % p * tmp % p) % p;   }   long long int nCr(int n) {     ncr[0] = 1;     n_1cr[0] = 1;     for (int i = 1; i <= n; i++) {       long long int iPower = fastPower(i, p - 2);       ncr[i] = (ncr[i - 1] * (n - i + 1)) % p;       ncr[i] *= iPower;       ncr[i] %= p;       n_1cr[i] = (n_1cr[i - 1] % p * (n - i) % p) % p;       n_1cr[i] *= iPower;       n_1cr[i] %= p;     }   }   long long int nCr(int n, int r) {     long long ans = 1;     ans = (fact[n - r] * fact[r]) % p;     ans = (fact[n] * fastPower(ans, p - 2)) % p;     return ans;   }   int main() {     int n;     long long int sum = 0;     cin >> n;     factorial();     for (int i = 1; i <= n; i++) {       sum += nCr(n - 1, i - 1) * nCr(n, i);       sum %= p;     }     sum *= 2;     sum %= p;     sum -= n;     cout << sum << endl;     return 0;   }   