Pagini recente » Cod sursa (job #2755626) | Cod sursa (job #71722) | Cod sursa (job #2232831) | Cod sursa (job #2382900) | Cod sursa (job #3156519)
#include<fstream>
using namespace std;
ifstream F("sumdiv.in");
ofstream G("sumdiv.out");
#define N 9901
int a,b,s,p,i;
int A(int a,int n)
{
if(!n)
return 1;
int x=A(a,n>>1);
x=(x*x)%N;
if(n&1)
x=(x*a)%N;
return x;
}
int C(int a)
{
int r;
if(!a)
return 0;
for(r=1;r%a;r+=N);
return r/a;
}
int B(int q,int e)
{
return q==1?(e+1)%N:(((A(q,e+1)+N-1)%N)*C((q+N-1)%N))%N;
}
int main()
{
for(F>>a>>b;!(a&1);++p,a>>=1);
for(s=B(2,p*b),i=3;i*i<=a;i+=2)
if(!(a%i)) {
for(p=0;!(a%i);++p,a/=i);
s=(s*B(i%N,p*b))%N;
}
if(a>1)
s=(s*B(a%N,b))%N;
G<<s;
return 0;
}