Pagini recente » Cod sursa (job #1677964) | Diferente pentru runda/redsnow_2 intre reviziile 40 si 44 | Profil Ryuzaki | Cod sursa (job #389634) | Cod sursa (job #757345)
Cod sursa(job #757345)
#include<cstdio>
#include<cmath>
#define MOD 9901
int a,b;
int modpow (int x,int y)
{
if(y==1)
return x;
int n=modpow (x,y/2);
n=(n*n)%MOD;
if(y%2)
n=(n*x)%MOD;
return n;
}
int calc (int d)
{
int e=0;
while(a%d==0)
e++,a/=d;
int n=(modpow (d,e*b+1)-1+MOD)%MOD;
int m=(d-1+MOD)%MOD;
return (n*modpow (m,MOD-2))%MOD;
}
int main()
{
freopen ("sumdiv.in","r",stdin);
freopen ("sumdiv.out","w",stdout);
int 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;
printf ("%d",r);
}