Pagini recente » Cod sursa (job #2482561) | Cod sursa (job #551825) | Cod sursa (job #1568972) | Cod sursa (job #245084) | Cod sursa (job #1996472)
#include<cstdio>
using namespace std;
long long a,b;
const int mod=9901;
inline long long pow(long long f,long long k)
{
if(k==0)
return 1;
if(k&1)
return (f*pow(f,k-1))%mod;
else
{
k/=2;
long long temp=pow(f,k);
return (temp*temp)%mod;
}
}
inline long long sum(long long f,long long k)
{
if(k==0)
return 1;
if(k&1)
return (1+f*(sum(f,k-1)))%mod;
else
{
k/=2;
long long putere=pow(f,k)%mod,temp=sum(f,k)%mod;
return (temp+putere*(temp-1))%mod;
}
}
int main()
{
freopen("sumdiv.in","r",stdin);
freopen("sumdiv.out","w",stdout);
scanf("%lld%lld",&a,&b);
int exp=0,rez=1,d=2;
while(d*d<=a)
{
exp=0;
while(a%d==0)
exp++,a/=d;
if(exp)
rez=rez*sum(d%mod,exp*d)%mod;
++d;
}
if(a)
rez=rez*sum(a%mod,b)%mod;
printf("%d",rez);
}