Pagini recente » Cod sursa (job #2921723) | Cod sursa (job #1828815) | Cod sursa (job #1523055) | Cod sursa (job #298556) | Cod sursa (job #2664393)
#include <bits/stdc++.h>
using namespace std;
#define f1 "sumdiv.in"
#define f2 "sumdiv.out"
ifstream in(f1);
ofstream out(f2);
#define MOD 9901
long long fastexp(long long n, long long p) {
long long a = 1;
while(p) {
if(p % 2)
a = (1LL * a * n) % MOD;
n = (1LL * n * n) % MOD;
p /= 2;
}
return a + MOD;
}
int main() {
int a, b, sum = 1, d = 2, p;
in >> a >> b;
while(d * d <= a) {
p = 0;
if(a % d == 0) {
while(a % d == 0) {
a /= d;
p++;
}
sum = (1LL * sum * (fastexp(d, p * b + 1) - 1) * fastexp(d - 1, MOD - 2)) % MOD;
}
d++;
}
if(a)
sum = (1LL * sum * (fastexp(a, b + 1) - 1) * fastexp(a - 1, MOD - 2)) % MOD;
out << sum;
return 0;
}