rt
input:
488 1314
Dev-c++:
-3695
VSC:
6184
Code:
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define mod 9901
int a, b;
int ans = 1;
int power(int a, int b) {
int ans = 1 % mod;
a %= mod, b %= mod;
for (; b; b >>= 1) {
if (b & 1) ans = ans * a % mod;
a = a * a % mod;
}
return ans;
}
int sumdiv(int p, int c) {
if (c == 0) return 1;
if (c % 2 == 1) return ((power(p, (c + 1) / 2) + 1) % mod) * sumdiv(p, (c - 1) / 2) % mod;
else return (sumdiv(p, c - 1) + power(p, c)) % mod;
}
signed main() {
cin >> a >> b;
int n = a;
for (int i = 2; i <= sqrt(n); i++) {
if (n % i != 0) continue;
int cnt = 0;
while (a % i == 0) a /= i, cnt++;
ans = ans * sumdiv(i, cnt * b) % mod;
}
if (a != 1) ans = ans * sumdiv(a, 1 * b) % mod;
cout << ans << endl;
return 0;
}