Pagini recente » Cod sursa (job #471144) | Cod sursa (job #773158) | Statistici Tudor Andrei (TuDOr7173) | Profil Liviuc | Cod sursa (job #1463090)
#include<iostream>
#include<fstream>
#define mod 9901
using namespace std;
ifstream fin("sumdiv.in");
ofstream fout("sumdiv.out");
int powmod(long long x,long long y)
{
long long r=1;
while (y)
{
if (y%2==1) r=(r*x)% mod;
y/=2;
x=(x*x)% mod;
}
return r;
}
long long a,b,i,k,sol;
int main()
{
fin>>a>>b;sol=1;
for (i=2;i*i<=a;i++)
if (a % i==0)
{
k=0;
while (a%i==0) k++,a/=i;
sol=(sol*((powmod(i,b*k+1)-1+mod)%mod)*powmod(i-1,9899)% mod);
}
if (a>1 && a%mod==1) sol=(sol*(b+1))% mod; else
if (a>1)
sol=(sol*((powmod(a,b+1)-1+mod)%mod)*powmod(a-1,9899))% mod;
fout<<sol;
fin.close();fout.close();
return 0;
}