#include <bits/stdc++.h>
using namespace std;
ifstream fin("sumdiv.in");
ofstream fout("sumdiv.out");
const int MOD = 9901;
long long a, b;
long long lgput(long long x, long long p) {
long long r = 1;
x %= MOD;
while(p) {
if(p % 2) r = r * x % MOD;
x = x * x % MOD;
p /= 2;
}
return r;
}
long long suma(long long p, long long e) {
if(e == 0) return 1;
if(e % 2 == 1) {
return suma(p, e / 2) * (1 + lgput(p, e / 2 + 1)) % MOD;
}
return (suma(p, e - 1) + lgput(p, e)) % MOD;
}
int main() {
fin >> a >> b;
if(a == 0) {
fout << 0 << "\n";
return 0;
}
long long ans = 1;
for(long long d = 2; d * d <= a; d++) {
if(a % d == 0) {
long long cnt = 0;
while(a % d == 0) {
a /= d;
cnt++;
}
ans = ans * suma(d, cnt * b) % MOD;
}
}
if(a > 1) {
ans = ans * suma(a, b) % MOD;
}
fout << ans << "\n";
return 0;
}