#include<bits/stdc++.h>
using namespace std;
int qp(int a,int b){
int s=1,p=9901;
while(b>0){
if(b%2==1){
s=(s*a)%p;
}
a=a*a%p;
b/=2;
}
return s;
}
int n,m,k;
int a[50000005],b[1000005];
int main(){
cin>>n>>m;
for(int i=2;i*i<=n;i++){
if(n%i==0){
b[++k]=i;
while(n%i==0){
a[i]++;
n/=i;
}
}
}
int ans=1;
if(n>1) a[n]=1,b[++k]=n;
for(int i=1;i<=k;i++){
a[b[i]]*=m;
int h=qp(b[i],a[b[i]]+1)-1;
h/=b[i]-1;
h=(9901+h)%9901;
ans=(ans*h)%9901;
}
cout<<ans;
return 0;
}
记录