Pagini recente » Cod sursa (job #1080319) | Cod sursa (job #1658642) | Cod sursa (job #2900166) | Cod sursa (job #611217) | Cod sursa (job #2875316)
#include <bits/stdc++.h>
//#pragma GCC optimize ("O3")
//#pragma GCC optimize ("unroll-loops")
//#pragma GCC optimize ("Ofast")
#define MOD 9901
using namespace std;
ifstream f("sumdiv.in");
ofstream g("sumdiv.out");
long long pow_log(long long baza, long long exponent)
{long long sol=1;
while (exponent!=0) {
if (exponent%2==1) {sol=sol*baza;sol%=MOD;}
baza*=baza;
baza%=MOD;
exponent/=2;
}
return sol;
}
int main()
{int a,b,sol=1;
f>>a>>b;
int d=2,e;
while (a>1) {e=0;
while (a%d==0) {a=a/d;
e++;
}
if (e>0) {e*=b;
if (d%MOD==1) sol=sol*((e+1)%MOD)%MOD; //se aduna 1^b
else {sol=sol*((pow_log(d%MOD,e+1)-1+MOD)%MOD*pow_log((d-1)%MOD,MOD-2)%MOD)%MOD;
}
}
if (d==2) d++;
else d+=2;
if (d*d>a) d=a;
}
g<<sol;
}