Pagini recente » Cod sursa (job #2792570) | Cod sursa (job #291730) | Cod sursa (job #292858) | Cod sursa (job #990019) | Cod sursa (job #1553438)
#include <fstream>
using namespace std;
ifstream fin("sumdiv.in");
ofstream fout("sumdiv.out");
const int mod= 9901;
int lgput( int x, int p ) {
int ans= 1;
for ( ; p>0; p/= 2 ) {
if ( p%2==1 ) {
ans= ans*x%mod;
}
x= x*x%mod;
}
return ans;
}
void solve( int &sol, int p, int e ) {
int aux= (lgput(p, e+1)-1+mod)%mod;
int invmod= lgput(p-1, mod-2);
aux= aux*invmod%mod;
sol= sol*aux%mod;
}
int main( ) {
int a, b, sol= 1;
fin>>a>>b;
for ( int i= 2; i*i<=a; ++i ) {
int e= 0;
for ( ; a%i==0; a/= i, ++e ) ;
solve(sol, i, e*b);
}
if ( a>1 ) {
if ( a%mod==1 ) {
sol= sol*(b+1)%mod;
} else {
solve(sol, a, b);
}
}
fout<<sol<<"\n";
return 0;
}