fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. const int MOD = 1e9+7;
  5. const int MAX = 1e6+5;
  6.  
  7. long long fac[MAX], inv[MAX];
  8.  
  9. long long power(long long a, long long b) {
  10. long long res = 1;
  11. while(b) {
  12. if(b&1) res = (res * a) % MOD;
  13. a = (a * a) % MOD;
  14. b >>= 1;
  15. }
  16. return res;
  17. }
  18.  
  19. long long C(int n, int k) {
  20. if(k > n || k < 0) return 0;
  21. return fac[n] * inv[k] % MOD * inv[n-k] % MOD;
  22. }
  23.  
  24. int main() {
  25. ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
  26.  
  27. fac[0] = inv[0] = 1;
  28. for(int i=1; i<MAX; i++) {
  29. fac[i] = (fac[i-1] * i) % MOD;
  30. inv[i] = power(fac[i], MOD-2);
  31. }
  32.  
  33. int n, m;
  34. cin >> n >> m;
  35. cout << C(n+m-1, m) << "\n";
  36.  
  37. return 0;
  38. }
  39.  
Success #stdin #stdout 0.14s 19180KB
stdin
3 2
stdout
6