Pagini recente » Cod sursa (job #597036) | Cod sursa (job #862071)
Cod sursa(job #862071)
#include<fstream>
#include<cmath>
#define MOD 9901
using namespace std;
ifstream f("sumdiv.in");
ofstream g("sumdiv.out");
long long s;
int i,p,b,a,p1,p2;
int putere(int n,int p)
{long long x=1,q,nr;
q=p;
nr=n;
while(p)
{if(p&1)
x=(x*nr)%MOD;
nr=(nr*nr)%MOD;
p/=2;
}
p=q;
return x;
}
int main()
{
f>>a>>b;
s=1;
for(i=2;i*i<=a&&a>1;++i)
if(!(a%i))
{
p=0;
while(a%i==0)
{
a/=i;
++p;
}
if(i%MOD==1)
s*=1LL*(p+1)%MOD;
else
{
p1=(putere(i,p*b+1)+MOD-1)%MOD;
p2=putere(i-1,MOD-2)%MOD;
s=s*1LL*p1*p2;
s%=MOD;
}
}
if(a>1)
{
if(a%MOD==1)
s=(s*1LL*(b%MOD+1))%MOD;
else
{
p1=(putere(a,b+1)+MOD-1)%MOD;
p2=putere(a-1,MOD-2)%MOD;
s=s*1LL*p1*p2;
s%=MOD;
}
}
if(a==0)
g<<0<<'\n';
else
g<<s<<'\n';
return 0;
}