Pagini recente » Cod sursa (job #1935474) | Cod sursa (job #2069019) | Cod sursa (job #2090168) | Cod sursa (job #1085191) | Cod sursa (job #3305682)
#include <fstream>
#define NMAX 100000
#define MOD 9901
using namespace std;
ifstream fin("sumdiv.in");
ofstream fout("sumdiv.out");
long long A,B,s;
long long fast_exp(long long baza, long long exp)
{
long long ans=1;
while(exp>0)
{
if(exp%2==1)
{
ans=(ans*baza)%MOD;
}
baza=(baza*baza)%MOD;
exp=exp/2;
}
return ans%MOD;
}
int main()
{
fin>>A>>B;
if(B==0)
{
fout<< 1 << "\n";
return 0;
}
long long d,e;
s=1;
d=2;
while(A>1)
{
e=0;
while(A%d==0)
{
A=A/d;
e++;
}
if(e)
{
long long p,inv;
p=fast_exp(d,e*B+1)-1;
if(p<0)
{
p+=MOD;
}
inv=fast_exp(d-1,MOD-2);
s=((s*p)%MOD*inv)%MOD;
}
if(d>2)
{
d+=2;
}
else
{
d++;
}
if(d*d>A && A>1)
{
d=A;
}
}
fout<< s << "\n";
return 0;
}