Pagini recente » Cod sursa (job #1749311) | Cod sursa (job #2456725) | Cod sursa (job #1867046) | Cod sursa (job #1776513) | Cod sursa (job #2073197)
#include <fstream>
using namespace std;
ifstream cin("sumdiv.in");
ofstream cout("sumdiv.out");
const int MOD = 9901;
int Raise(int a, int p) {
int ans = 1;
while (p) {
if (p & 1) {
ans *= a;
ans %= MOD;
}
a *= a;
a %= MOD;
p >>= 1;
}
return ans;
}
void Solve(int a, int b) {
long long s = 1ll;
for (int i = 2; i * i <= a; i ++) {
if (a % i) {
continue;
}
int cur_exp = 0;
while (a % i == 0) {
a /= i;
cur_exp ++;
}
cur_exp *= b;
int cur_nr = Raise(i, cur_exp);
s *= ((cur_nr * i) - 1) / (i - 1);
s %= MOD;
}
if (a != 1) {
a %= MOD;
int cur_nr = Raise(a, b);
s *= ((cur_nr * a - 1) / (a - 1));
s %= MOD;
}
cout << s << '\n';
}
int main(int argc, char const *argv[]) {
int a, b;
cin >> a >> b;
Solve(a, b);
}