Pagini recente » Cod sursa (job #2148435) | Cod sursa (job #236535) | Cod sursa (job #1646301) | Cod sursa (job #362438) | Cod sursa (job #1940582)
#include <cstdio>
const int MOD=9901;
int pow( int k, int exp )
{
int nk=1;
k%=MOD;
while( exp )
{
if( exp%2==1 )
{
nk*=k;
nk%=MOD;
}
k*=k;
k%=MOD;
exp/=2;
}
return nk;
}
int sd( int p, int x )
{
if( x==0 )
return 1;
else
if( x%2==0 )
return (1+p*sd(p,x-1))%MOD;
else
return sd(p,x/2)*(1+pow(p,(x+1)/2))%MOD;
}
int main()
{
freopen( "sumdiv.in", "r", stdin );
freopen( "sumdiv.out", "w", stdout );
int a, b, sum=1, d=2, exp;
scanf( "%d%d", &a, &b );
while( d*d<=a )
{
exp=0;
while( a%d==0 )
{
a/=d;
exp++;
}
if( exp )
{
sum*=sd(d%MOD,exp*b);
sum%=MOD;
}
d++;
}
if( a>1 )
{
sum*=sd(a%MOD,b);
sum%=MOD;
}
printf( "%d", sum );
return 0;
}