Pagini recente » Cod sursa (job #1636616) | Cod sursa (job #2452899) | Cod sursa (job #2407247) | Cod sursa (job #2467019) | Cod sursa (job #1221414)
#include <fstream>
#define MOD 9901
#define LL long long
using namespace std;
ifstream fin("sumdiv.in");
ofstream fout("sumdiv.out");
LL A, B;
LL lgput(LL x, LL p)
{
LL val = 1;
while (p)
{
if (p & 1) val = val * x % MOD;
x = x * x % MOD;
p = p / 2;
}
return val;
}
void Solve()
{
LL sd = 1;
for (int i=2; i*i<=A && A>1; i++)
{
if (A % i) continue;
int p = 0;
while (A % i == 0)
{
p++;
A /= i;
}
sd = (sd * (lgput(i, B * p + 1) - 1 + MOD) % MOD / (i - 1)) % MOD;
}
if (A > 1)
{
if (A % MOD == 1)
{
sd = (sd * (B + 1)) % MOD;
}
else
{
sd = (sd * (lgput(A, B + 1) - 1 + MOD) % MOD / (A - 1)) % MOD;
}
}
fout << sd << '\n';
}
int main()
{
fin >> A >> B;
Solve();
fout.close();
return 0;
}