Pagini recente » Cod sursa (job #897419) | Cod sursa (job #843430) | Cod sursa (job #2455562) | Cod sursa (job #3277553) | Cod sursa (job #623895)
Cod sursa(job #623895)
#include <cstdio>
#define mod 9901
int a, b, sol, v[1000], p[1000], k;
int pow(int x, int n)
{
int r=1;
x%=mod;
for (; n>0; n>>=1)
{
if (n&1) r=(r*x)%mod;
x=(x*x)%mod;
}
return r;
}
int main()
{
freopen("sumdiv.in","r",stdin);
freopen("sumdiv.out","w",stdout);
scanf("%d %d", &a, &b);
int i, d, c;
for (d=2; d*d<=a; d++)
{
c=0;
while (!(a%d))
{
c++;
a/=d;
}
if (c)
{
k++;
v[k]=d;
p[k]=c*b;
}
}
if (a>1)
{
v[++k]=a;
p[k]=b;
}
sol=1;
for (i=1; i<=k; i++)
{
if (v[i]%mod==1)
sol=sol*((p[i]+1)%mod)%mod; else
sol=(sol*(pow(v[i], p[i]+1)-1+mod)%mod*pow(v[i]-1, mod-2))%mod;
}
if (!a) sol=0;
printf("%d",sol);
}