Pagini recente » Cod sursa (job #1808930) | Cod sursa (job #520618) | Cod sursa (job #987176) | Cod sursa (job #930146) | Cod sursa (job #1705460)
#include <cstdio>
#define MOD 9901
inline int suma(int x, int y){
int a=(y+1)/(MOD-1), b=(y+1)%(MOD-1), rasp=0, e=1, sum=1;
for(int i=1; i<=MOD-2; i++){
if(b==i){
rasp=sum;
}
e=(e*(long long)x)%MOD;
sum=(sum+e)%MOD;
}
rasp=(rasp+sum*(long long)a)%MOD;
return rasp;
}
int main(){
int a, b, ans, p, s;
FILE *fin, *fout;
fin=fopen("sumdiv.in", "r");
fout=fopen("sumdiv.out", "w");
fscanf(fin, "%d%d", &a, &b);
ans=1;
p=2;
while(p*p<=a){
if(a%p==0){
a/=p;
s=1;
while(a%p==0){
a/=p;
s++;
}
ans=(suma(p, s*b)*ans)%MOD;
}
p++;
}
if(a>1){
ans=(suma(a, b)*ans)%MOD;
}
fprintf(fout, "%d\n", ans);
fclose(fin);
fclose(fout);
return 0;
}