func_code_string: #include <bits/stdc++.h>   using namespace std;   const long long int INF = (1ll << 60) - 1;   long long int nCrModpDP(long long int n, long long int r, long long int p) {     long long int i, j, C[r + 1];     memset(C, 0, sizeof(C));     C[0] = 1;     for (i = 1; i <= n; i++) {       for (j = min(i, r); j > 0; j--) {         C[j] = (C[j] + C[j - 1]) % p;       }     }     return C[r];   }   int main() {     ios::sync_with_stdio(0);     cin.tie(0);     cout.tie(0);     long long int tc = 1;     while (tc--) {       long long int fact[1001];       fact[0] = fact[1] = 1;       fact[2] = 2;       fact[3] = 6;       for (long long int i = 4; i < 1001; i++)         fact[i] = ((fact[i - 1] % 1000000007) * (i % 1000000007)) % 1000000007;       long long int n, m;       cin >> n >> m;       long long int ans = nCrModpDP(n + 2 * m - 1, n - 1, 1000000007);       cout << ans % 1000000007;     }   }   