Pagini recente » Cod sursa (job #1121506) | Cod sursa (job #2476783) | Cod sursa (job #2078774) | Cod sursa (job #627331) | Cod sursa (job #547890)
Cod sursa(job #547890)
#include <stdio.h>
#define modulo 9901
long int put, d, a, b, rez, p, put1, x, dd, pa, i;
long int sum(long int k)
{
if (k==0)
{
put=1;
return 1;
}
else
if (k%2==0)
{
x=sum(k-1);
put=(put*d)%modulo;
return (x+put)%modulo;
}
else
{
x=sum(k/2);
put1=put; put=((put*put)%modulo*d)%modulo;
return (x+(x*put1)%modulo*d)%modulo;
}
}
int main()
{
freopen("sumdiv.in","r",stdin);
freopen("sumdiv.out","w",stdout);
scanf("%ld %ld",&a, &b);
dd=2; rez=1;
while (dd*dd<=a)
{
p=0;
while (a%dd==0)
{ a/=dd; p++; }
d=dd%modulo;
rez=(rez*sum(p*b))%modulo;
if (dd==2)
dd++;
else
dd+=2;
}
if (a>1)
{
d=a%modulo;
rez=(rez*sum(b))%modulo;
}
printf("%ld",rez);
return 0;
}