Pagini recente » Cod sursa (job #256703) | Cod sursa (job #615461) | Cod sursa (job #3248761) | Cod sursa (job #1225456) | Cod sursa (job #3199709)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("sumdiv.in");
ofstream fout("sumdiv.out");
const int mod = 9901;
int n, b, d, e, p;
long long sum = 1;
static inline int Put(int a, int n) {
long long p = 1;
while(n) {
if(n & 1) p = (p * a) % mod;
a = (a * a) % mod;
n >>= 1;
}
return p;
}
static inline int Inv(int a) {
return Put(a, mod - 2);
}
int main() {
fin >> n >> b;
d = 2;
while(d * d <= n) {
int e = 0;
int p = 1;
while(n % d == 0) {
e++;
p *= d;
p %= mod;
n /= d;
}
if(e) {
p = 1LL * (Put(p, b) * d) % mod;
sum *= ((p - 1) / Inv(d - 1)) % mod;
}
d++;
}
if(n > 1) {
int nn = 1LL * (Put(n, b) * n) % mod;
sum *= ((nn - 1) / (n - 1)) % mod;
}
fout << sum;
return 0;
}