#include<bits/stdc++.h>
using namespace std;
const int X=9901;
int m,n;
long long qmi(int a,int b)
{
long long ans=1;
while(b!=0)
{
if (b&1==1)
ans=(ans*a)%X;
a=a*a%X;
b=b>>1;
}
return ans%X;
}
long long sum(int p,int c)
{
if (c==0) return 1;
if (c==1) return (1+p)%X;
if (c%2==1)
{
return (1+qmi(p,(c+1)/2))%X*sum(p,(c-1)/2)%X;
}
else
{
return (1+qmi(p,c/2))*sum(p,c/2-1)+qmi(p,c);
}
}
int main()
{
unsigned long long x=1;
cin>>m>>n;
if (m==0)
{
cout<<0;
return 0;
}
if (m==1)
{
cout<<1;
return 0;
}
for (int i=2;i<=sqrt(m);i++)
{
if(m%i==0)
{
int cnt=0;
while(m%i==0)
{
m=m/i;
cnt++;
}
x=x*sum(m,cnt*n)%X;
}
}
if (m > 1)
{
x=x*sum(m, n) % X;
}
cout<<x;
return 0;
}