Pagini recente » Cod sursa (job #443200) | Cod sursa (job #1526788) | Cod sursa (job #598710) | Cod sursa (job #2622305) | Cod sursa (job #1974332)
#include <fstream>
using namespace std;
const int MOD=9901;
ifstream f ("sumdiv.in");
ofstream g ("sumdiv.out");
long long a,b,s=1;
int putere(long long x,long long p)
{
x%=MOD;
long long sol=1;
for(;p;p=p/2)
{
if(p&1) sol=(sol*x)%MOD;
x=(x*x)%MOD;
}
return sol;
}
long long solve(long long i,long long p)
{
if(i%MOD==1) return p*b+1;
return (putere(i,1LL*p*b+1)+MOD-1)*(putere(i-1,MOD-2))%MOD;
}
int main()
{
f>>a>>b;
long long t=a;
for(int i=2;i*i<=a;++i)
{
int p=0;
while(t%i==0) t/=i,++p;
if(p) s*=solve(i, p),
s%=MOD;
}
if(t>1) s*=solve(a,1),
s%=MOD;
g<<s;
}