Pagini recente » Cod sursa (job #778001) | Profil mihaelapopa123 | Cod sursa (job #206218) | Cod sursa (job #1249957) | Cod sursa (job #1900900)
#include <cstdio>
#define MOD 9901
inline int lgput(long long a,long long b){
long long ans=1;
a%=MOD;
while(b){
if(b&1)
ans=(ans*a)%MOD;
b>>=1;
a=(a*a)%MOD;
}
return ans;
}
int main(){
FILE*fi,*fout;
int a,div,ans;
long long b;
fi=fopen("sumdiv.in" ,"r");
fout=fopen("sumdiv.out" ,"w");
fscanf(fi,"%d %lld " ,&a,&b);
div=2;
ans=1;
while(div*div<=a){
int exp=0;
while(a%div==0){
a/=div;
exp++;
}
if(exp>0){
long long x=b*exp;
ans=(ans*(((lgput(div,x+1)-1+MOD)*lgput(div-1,MOD-2))%MOD))%MOD;
}
div++;
}
if(a>1){
int exp=1;
long long x=b*exp;
div=a;
ans=(ans*(((lgput(div,x+1)-1+MOD)*lgput(div-1,MOD-2))%MOD))%MOD;
}
if(b==0)
ans=1;
if(a==0)
ans=0;
fprintf(fout,"%d" ,ans);
fclose(fi);
fclose(fout);
return 0;
}