Pagini recente » Cod sursa (job #2292227) | Cod sursa (job #854868) | Cod sursa (job #1830100) | Cod sursa (job #1496070) | Cod sursa (job #1553431)
#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 ) {
solve(sol, a, b);
}
fout<<sol<<"\n";
return 0;
}