Pagini recente » Cod sursa (job #2064815) | Cod sursa (job #1421735) | Cod sursa (job #3230783) | Cod sursa (job #1429924) | Cod sursa (job #2982197)
#include <ext/rope>
#include <bits/stdc++.h>
using namespace __gnu_cxx;
using namespace std;
using ll = long long;
ifstream in("sumdiv.in");
ofstream out("sumdiv.out");
ll a, b;
const int MOD = 9901;
ll fastpow(ll base, ll exp)
{
ll p = 1;
while(exp)
{
if(exp % 2)
p = p * base % MOD;
base = base * base % MOD;
exp /= 2;
}
return p % MOD;
}
int main()
{
in >> a >> b;
ll ans = 1;
ll d = 2, p;
while(a > 1)
{
p = 0;
while(a % d == 0)
{
a /= d;
p++;
}
if(p > 0)
{
if(d % MOD != 1) {
p *= b;
ans = ans * ((fastpow(d % MOD, p + 1) - 1 + MOD) % MOD * fastpow((d - 1) % MOD, MOD - 2) % MOD) % MOD;
}
else
ans = ans * (p + 1) % MOD;
}
++d;
if(d * d > a)
d = a;
}
out << ans;
return 0;
}