Pagini recente » Cod sursa (job #2921912) | Cod sursa (job #1642480) | Cod sursa (job #2134877) | Cod sursa (job #100480) | Cod sursa (job #2496512)
#include <fstream>
#include <iostream>
#define mod 9901
using namespace std;
ifstream fin("sumdiv.in");
ofstream fout("sumdiv.out");
long long a,b,cnt,sum,x,y,i;
long long pow(long long a, long long b){
long long r=1;
a%=mod;
while(b){
if(b&1)
r=(r*a)%mod;
a=(a*a)%mod;
b>>=1;
}
return r;
}
int main(){
fin>>a>>b;
if(b==0){
fout<<1;
return 0;
}
sum=1;
for(i=2;i*i<=a;i++){
if(a%i==0){
cnt=0;
while(a%i==0)
a/=i,cnt++;
cnt*=b;
cnt++;
x=pow(i,cnt)-1;
if(x<0)
x+=mod;
y=pow((i-1+mod)%mod,mod-2);
x=(x*y)%mod;
sum=(sum*x)%mod;
}
}
//cout<<sum<<" "<<a<<"\n";
if(a!=1){
x=pow(a,b+1)-1;
//cout<<x<<" ";
if(x<0)
x+=mod;
y=pow((a-1+mod)%mod,mod-2);
x=(x*y)%mod;
//cout<<x;
sum=(sum*x)%mod;
}
fout<<sum;
return 0;
}