Pagini recente » Cod sursa (job #592130) | Cod sursa (job #1907187) | Cod sursa (job #1041177) | Cod sursa (job #414077) | Cod sursa (job #1810224)
#include <fstream>
#include <cstring>
#include <vector>
#include <algorithm>
using namespace std;
ifstream fin("sumdiv.in");
ofstream fout("sumdiv.out");
const int mod = 9901;
int Pow(int who, int pow) {
int ret = 1;
while (pow) {
if (pow & 1)
ret = ret * who % mod;
pow >>= 1;
who = who * who % mod;
}
return ret;
}
int main() {
int a, b; fin >> a >> b;
int ans = 1;
for (int i = 2; i * i <= a; ++i) {
if (a % i)
continue;
int cnt = 0;
while (a % i == 0)
a /= i, ++cnt;
ans = ans * (Pow(i, cnt * b + 1) - 1) % mod;
ans = ans * Pow(i - 1, mod - 2) % mod;
}
if (a != 1) {
if (a % mod == 1)
ans = ans * (1 + b) % mod;
else {
ans = ans * (Pow(a, b + 1) - 1) % mod;
ans = ans * Pow(a - 1, mod - 2) % mod;
}
}
while (ans < 0)
ans += mod;
fout << ans << '\n';
return 0;
}
//Trust me, I'm the Doctor!