Pagini recente » Cod sursa (job #284025) | Cod sursa (job #1791880) | Cod sursa (job #596095) | Cod sursa (job #250040) | Cod sursa (job #3150647)
#include <fstream>
#define pb push_back
using namespace std;
using pii = pair<int,int>;
ifstream cin("sumdiv.in");
ofstream cout("sumdiv.out");
const long long m = 9901;
long long a , b;
long long fastpow( long long x , long long y )
{
if(!y) return 1LL;
if(y&1) return (x*fastpow(x,y-1))%m;
int p = fastpow(x,y/2);
return (p*p)%m;
}
signed main(){
cin >> a >> b;
int ans = 1;
for(int i = 2 ; a > 1 && i * i <= a ; i++)
{
if(a%i) continue;
int hm = 0,num;
while(a%i==0)
{
++hm;
a/=i;
}
num = fastpow(i,hm*b);
num = (num*i)%m;
ans = (ans*((num-1)*fastpow(i-1,m-2))%m)%m;
}
int nr = fastpow(a,b);
ans = (ans*((nr*a-1)%m*fastpow(a-1,m-2)))%m;
cout << ans;
return 0;
}