Pagini recente » Cod sursa (job #2265901) | Cod sursa (job #2680508) | Cod sursa (job #2771370) | Cod sursa (job #2276507) | Cod sursa (job #1547758)
#include <iostream>
#include <fstream>
using namespace std;
const long long mod = 9901;
long long log_pow(long long x, long long p)
{
x=x%mod;
int sol=1;
while(p)
{
if(p&1) sol=(sol*x)%mod;
p=p>>1;
x=(x*x)%mod;
}
return sol;
}
int main()
{
ifstream fin ("sumdiv.in");
ofstream fout ("sumdiv.out");
ios_base::sync_with_stdio(false);
long long a, b, x, y, p, s=1, i;
fin >> a >> b;
x=a;
for(i=2; i*i<=a; i++)
{
for(p=0; a%i==0; p++)
a=a/i;
if(p)
{
if(i%mod==1) s=(s*(p*b-1))%mod;
else s=(s*((log_pow(i, 1LL*p*b+1)+mod-1) * log_pow(i-1, mod-2)%mod))%mod;
}
}
if(x>1)
{
if(i%mod==1) s=(s*(b-1))%mod;
else s=(s*(log_pow(i, 1LL*b+1)+mod-1) * log_pow(i-1, mod-2)%mod)%mod;
}
fout << s;
fin.close();
fout.close();
return 0;
}