Pagini recente » Cod sursa (job #1768687) | Cod sursa (job #2733916) | Cod sursa (job #615983) | Cod sursa (job #991893) | Cod sursa (job #873716)
Cod sursa(job #873716)
#include<stdio.h>
#define mod 9901
FILE*f=fopen("sumdiv.in","r");
FILE*g=fopen("sumdiv.out","w");
int a,b;
inline int lgpow ( int a , int b ){
int s = 1,p = a%mod;
while ( b ){
if ( b & 1 ){
s = (s*p)%mod;
}
p = (p*p)%mod;
b >>= 1;
}
return s;
}
inline int pg ( int a , int b ){
if ( b == 0 ) return 0;
if ( b == 1 ) return a;
if ( b & 1 ){
return (1LL*a*(pg(a,b-1)+1))%mod;
}
else{
return (1LL*(1+lgpow(a,b>>1))*(pg(a,b>>1)))%mod;
}
}
int main () {
fscanf(f,"%d %d",&a,&b);
int sol = 1;
for ( int i = 2 ; i*i <= a && a > 1 ; ++i ){
if ( !(a % i) ){
int e = 0;
while ( !(a % i) ){
++e;
a /= i;
}
sol = (sol*(pg(i,e*b)+1))%mod;
}
}
if ( a > 1 ){
sol = (sol*(pg(a,b)+1))%mod;
}
fprintf(g,"%d\n",sol);
fclose(f);
fclose(g);
return 0;
}