Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- #define ll long long
- #define MOD 1000000007
- using namespace std;
- ll mod(ll a, ll b) {
- return (b + a%b) % b;
- }
- ll exgcd(ll a, ll b, ll &x, ll &y) {
- if(a == 0) {
- x = 0, y = 1;
- return b;
- }
- ll xx, yy, g;
- g = exgcd(b%a, a, xx, yy);
- x = yy - xx*(b/a);
- y = xx;
- return g;
- }
- ll fact(ll N) {
- if (N == 0)
- return 1;
- else
- return ((N % MOD) * (fact(N - 1) % MOD)) % MOD;
- }
- int cnk(int n, int k) {
- ll a, b;
- exgcd(((fact(k) % MOD)* (fact(n - k) % MOD)) % MOD, MOD, a, b);
- return mod(fact(n) * a, MOD);
- }
- int main()
- {
- int n, m;
- cin >> n >> m;
- cout << cnk(n + m, n) % MOD;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement