Pagini recente » Cod sursa (job #975176) | Cod sursa (job #2342416) | Cod sursa (job #872447) | Cod sursa (job #919402) | Cod sursa (job #789604)
Cod sursa(job #789604)
#include<cstdio>
#include<cmath>
#define MOD 9901
int a,b;
long long modpow (int x,int y)
{
if(y==1)
return x;
long long n=modpow (x,y/2);
n=(n*n)%MOD;
if(y%2)
n=(n*x)%MOD;
return n;
}
long long calc (int d)
{
int e=0;
while(a%d==0)
e++,a/=d;
long long n=(modpow (d,e*b+1)-1+MOD)%MOD;
long long m=(d-1+MOD)%MOD;
return (n*modpow (m,MOD-2))%MOD;
}
int main()
{
freopen ("sumdiv.in","r",stdin);
freopen ("sumdiv.out","w",stdout);
long long r=1;
scanf ("%d%d",&a,&b);
if(a%2==0)
r=calc (2);
double lim=sqrt (a);
for(int i=3;i<=lim;i+=2)
if(a%i==0)
r=(r*calc (i))%MOD;
if(a-1)
r=(r*calc (a))%MOD;
printf ("%lld",r);
return 0;
}