Pagini recente » Cod sursa (job #1161816) | Cod sursa (job #871516) | Cod sursa (job #1107610) | Cod sursa (job #3144668) | Cod sursa (job #2779999)
#include <stdio.h>
#define MOD 9999991LL
void euclid( int a, int b, int *d, int *x, int *y ) {
if( b == 0 ) {
*d = a;
*x = 1;
*y = 0;
} else {
int x0, y0;
euclid( b, a % b, d, &x0, &y0 );
*x = y0;
*y = x0 - ( a / b ) * y0;
}
}
int invMod( int a, int m ) {
int d, x, y;
euclid( a, m, &d, &x, &y );
return x;
}
int main()
{
int n;
FILE *fin = fopen( "dirichlet.in", "r" );
fscanf( fin, "%d", &n );
fclose( fin );
int rez = 1;
for( int i = n + 2; i <= 2 * n; i++ )
rez = ( long long )rez * i % MOD;
int d = 1;
for( int i = 2; i <= n; i++ )
d = ( long long )d * i % MOD;
rez = ( long long )rez * ( invMod( d, MOD ) + MOD ) % MOD;
FILE *fout = fopen( "dirichlet.out", "w" );
fprintf( fout, "%d\n", rez );
fclose( fout );
return 0;
}