Pagini recente » Cod sursa (job #152293) | Cod sursa (job #956897) | Cod sursa (job #288884) | Cod sursa (job #538906) | Cod sursa (job #252728)
Cod sursa(job #252728)
#include <stdio.h>
#define NR 9901
long long a,b,suma;
void citire()
{
scanf("%lld%lld",&a,&b);
}
int power(long long n,long long p)
{
long long s=1;
n=n%NR;
while(p)
{
if (p%2)
s=s*n%NR;
n=n*n%NR;
p/=2;
}
return s;
}
void rezolvare()
{
long long i,exp,t,x=a;
for (i=2; i*i<=a; i++)
{
if (a%i==0)
{
exp=0;
t=a;
while (t%i==0)
{
if (x%i==0)
x/=i;
t/=i;
exp++;
}
suma+=(power(i,exp*b+1)-1)/(i-1)%NR;
}
}
if (x!=1)
suma+=(power(x,b+1)-1)/(x-1)%NR;
}
int main()
{
freopen("sumdiv.in","r",stdin);
freopen("sumdiv.out","w",stdout);
citire();
rezolvare();
printf("%lld",suma%NR);
return 0;
}