Pagini recente » Cod sursa (job #1328922) | Cod sursa (job #1670299) | Cod sursa (job #107422) | Cod sursa (job #3245282) | Cod sursa (job #2497401)
#include <fstream>
#define R 9901
using namespace std;
ifstream fin("sumdiv.in");
ofstream fout("sumdiv.out");
long long a,b,d,exp,x,y,sumdiv=1;
int explog(int a,int p){
if(a==1)return 1;
if(p==0)return 1;
if(p==1)return a%R;
long long r=explog(a,p/2);
r=r*r;
if(p%2==0)return r%R;
return r*a%R;
}
int main(){
fin>>a>>b;
for(d=2;d<=a/d;d++){
if(a%d)continue;
exp=0;
while(a%d){
exp++;
a/=d;
}
exp*=b;
x=explog(d,exp+1);
y=explog(d-1,R-2);
sumdiv*=x*y%R;
sumdiv%=R;
}
if(a>1){
x=explog(a,b+1)-1;
y=explog((a-1)%R,R-2);
sumdiv*=x*y%R;
sumdiv%=R;
}
fout<<sumdiv;
return 0;
}