Pagini recente » Cod sursa (job #2659662) | Cod sursa (job #196986) | Cod sursa (job #2386723) | Cod sursa (job #2680496) | Cod sursa (job #789602)
Cod sursa(job #789602)
#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);
for(int i=3;i<=sqrt (a);i++)
if(a%i==0)
r=(r*calc (i))%MOD;
if(a-1)
r=(r*(a+1))%MOD;
printf ("%lld",r);
return 0;
}