传送门
题目大意
思路
找质因子的贡献,即 n ! n! n!有多少个质因子.
代码
ll x,n;
ll ans=1;
vector<ll>v;
void init(ll tmp){
for(ll i=2;i*i<=tmp;i++){
if(tmp%i==0){
while(tmp%i==0){
tmp/=i;
}
v.push_back(i);
}
}
if(tmp>1) v.push_back(tmp);
}
int main(){
scanf("%lld%lld",&x,&n);
init(x);
for(int i=0;i<v.size();i++){
ll tmp=1;
while(tmp<=n/v[i]){
tmp*=v[i];
ans=(ans*qpow(v[i],n/tmp,mod))%mod;
}
}
printf("%lld",ans);
}