Mint f(ll n,ll k){
	if(k==0){
		return n;
	}
	if(n==2){
		return Mint(2+k%2)**powmod(2,k/2,MD-1);
	}
	ll p=2;
	Mint z=1;
	while(n>1){
		if(n%p==0){
			if(p==2){
				z*=f(p+1,k-1);
			}else{
				z*=f(2,k-1);
				z*=f(p+1>>1,k-1);
			}
			n/=p;
		}else{
			p+=1;
		}
	}
	return z;
}
{
	ll@n,@k;
	wt(f(n,k));
}