Pagini recente » Cod sursa (job #2830961) | Cod sursa (job #1617442) | Cod sursa (job #2728246) | Cod sursa (job #1012640) | Cod sursa (job #2460084)
#include <fstream>
#define ll long long
#define mod 9901
using namespace std;
ifstream f("sumdiv.in");
ofstream g("sumdiv.out");
ll x, y, sol;
ll logpow(ll a, ll b)
{
ll r = 1;
while(b)
{
if(b & 1)
r = (r * a) % mod;
b /= 2;
a *= a;
a %= mod;
}
return r;
}
ll solve(ll a, ll b)
{
ll ans;
ans = logpow(a, b + 1);
ans = ans - 1 + mod;
ans %= mod;
ans = (ans * logpow(a - 1, mod - 2)) % mod;
return ans;
}
int main()
{
f >> x >> y;
ll d = 2;
sol = 1;
while(d * d <= x)
{
ll put = 0;
if(x % d == 0)
{
while(x % d == 0)
{
x /= d;
put++;
}
sol = (sol * solve(d,put * y) ) % mod;
}
d++;
}
if(x > 1)
sol = (sol * solve(d, y) ) % mod;
g << sol;
f.close();
g.close();
}