Cod sursa(job #2224591)
Utilizator | Data | 24 iulie 2018 16:13:39 | |
---|---|---|---|
Problema | Dirichlet | Scor | 8 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.47 kb |
#include <bits/stdc++.h>
using namespace std;const int MOD= 9999991;int log_put(long long base,int p){long long ans=1;while(p){if(p&1)ans*=base;base*=base;p/=2;ans%=MOD;base%=MOD;}return ans;}
int main(){freopen("dirichlet.in","r",stdin);freopen("dirichlet.out","w",stdout);int n;long long poz=1;long long res=1;scanf("%d",&n);for(int i=1;i<=2*n;i++)if(i<=n)res*=i,res%=MOD;else if(i>n+1)poz*=i;poz%=MOD;res=log_put(res,MOD-2);poz*=res;poz%=MOD;printf("%lld\n",poz);return 0;
}