Pagini recente » Cod sursa (job #1062717) | Cod sursa (job #1950854) | Cod sursa (job #179682) | Cod sursa (job #582533) | Cod sursa (job #2177513)
#include <fstream>
#define MOD 9901
std::ifstream fin("sumdiv.in");
std::ofstream fout("sumdiv.out");
int sol;
int a, b;
int pow(int a, int b) {
if (!b)
return 1;
if (b & 1)
return a * pow(a * a % MOD, b >> 1) % MOD;
return pow(a * a % MOD, b >> 1) % MOD;
}
int modInv(int x) {
return pow(x, MOD - 2);
}
int main() {
fin >> a >> b;
a = pow(a, b);
for (int d = 2; a > 1; d++) {
int exp = 1;
while (a % d == 0) {
exp++;
a /= d;
}
int term = (pow(d, exp) - 1) * modInv(d - 1) % MOD;
sol = (sol + term) % MOD;
}
fout << sol << '\n';
fout.close();
return 0;
}