#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
//英语 看博友分析 抄博友程序 求模运算的逆元 分子分母不互质 公式重要 没掌握
//ans=(a/b)mod m=(a mod (mb))/b
int MOD=9901;
long long mul(long long x, long long y, long long M)
{
long long ans=0;
y=y%M;
while(x)//抄博友程序
{
if(x&1)//抄博友程序
{
ans=(ans+y)%M;
}
x=x>>1;
y=(y*2)%M;
}
return ans;
}
long long power(long long x,long long n,long long M)
{
long long ans=1;
x=x%M;
while(n)
{
if(n&1)
{
ans=mul(ans,x,M)%M;//抄博友程序
}
x=mul(x,x,M)%M;
n=n>>1;
}
return ans;
}
int main()
{
long long A,B;
while(cin>>A>>B)
{
long long ans=1;
long long m=sqrt(A+0.5);//抄博友程序
for(int i=2;i<=m;i++)
{
if(A%i==0)//抄博友程序
{
int cnt=0;
while(A%i==0)
{
cnt++;
A=A/i;
}
long long M=(i-1)*MOD;//抄博友程序
ans=(ans*((power(i,cnt*B+1,M)+M-1 )/(i-1))%MOD)%MOD;//重要
}
}
long long M=(A-1)*MOD;//抄博友程序
if(A>1)
{
ans=(ans*((power(A,B+1,M)+M-1)/(A-1))%MOD)%MOD;
}
cout<<ans<<endl;
}
return 0;
}