Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #define ll long long
- using namespace std;
- const int MOD = 1e9 + 7;
- ll fact(ll x)
- {
- ll f = 1;
- for(int i = 2; i <= x; i++)
- f = (f * i) % MOD;
- return f;
- }
- ll fastExp(ll x, ll p)
- {
- ll ans = 1;
- ll currPow = x;
- for(int bit = 0; bit < 30; bit++)
- {
- if((1 << bit) & p)
- ans = (ans * currPow) % MOD;
- currPow = (currPow * currPow) % MOD;
- }
- return ans;
- }
- ll inv(ll x)
- {
- return fastExp(x, MOD - 2);
- }
- int main()
- {
- ll n, c;
- cin >> n;
- c = fact(2*n) * inv((fact(n) * fact(n+1)) % MOD);
- cout << c % MOD << '\n';
- return 0;
- }
- // n => (2n)! / (n+1)!*n!
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement