Pagini recente » Cod sursa (job #2801147) | Istoria paginii runda/homealone1 | Cod sursa (job #2399614) | Cod sursa (job #1760434) | Cod sursa (job #1118145)
#include<cstdio>
using namespace std;
const int mod = 9901;
int a,b,i,e,sol,aux;
int lgput(int a,int b)
{
int r=1;
for(int i=1;i<=b;i<<=1)
{
if(i&b) r=(1LL*a*r)%mod;
a=(1LL*a*a)%mod;
}
return r;
}
int inv(int x)
{
return lgput(x,mod-2);
}
int main()
{
freopen("sumdiv.in","r",stdin);
freopen("sumdiv.out","w",stdout);
scanf("%d%d",&a,&b); sol=1;
for(i=2;i*i<=a;i++)
if(a%i==0)
{
e=0;
while(a%i==0) a/=i,e++;
e*=b;
aux=(lgput(i,e+1)-1+mod)%mod;
aux=(1LL*aux*inv(i-1))%mod;
sol=(1LL*sol*aux)%mod;
}
if(a>1)
{
i=a; e=1;
e*=b;
aux=(lgput(i,e+1)-1+mod)%mod;
aux=(1LL*aux*inv(i-1))%mod;
sol=(1LL*sol*aux)%mod;
}
printf("%d\n",sol);
return 0;
}