Pagini recente » Cod sursa (job #2806586) | Cod sursa (job #1466142) | Cod sursa (job #1220588) | Cod sursa (job #228611) | Cod sursa (job #3234693)
#include <fstream>
using namespace std;
#define int long long
ifstream in("sumdiv.in");
ofstream out("sumdiv.out");
int a, b, ans;
int MOD = 9901;
int lgput(int x, int e)
{
int ans = 1;
while(e != 0)
{
if(e % 2 == 1)
{
ans = (ans * x) % MOD;
}
x = (x * x) % MOD;
e /= 2;
}
return ans;
}
int sum(int x, int e)
{
int ans = (lgput(x, e + 1) + MOD - 1) % MOD;
ans = (ans * lgput(x - 1, MOD - 2)) % MOD;
return ans;
}
signed main()
{
in>>a>>b;
ans = 1;
for(int i = 2; i*i<=a; i++)
{
if(a % i == 0)
{
int p = 0;
while(a % i == 0)
{
p++;
a /= i;
}
ans = (ans * sum(i, b * p)) % MOD;
}
}
if(a > 1)
{
ans = (ans * sum(a, b)) % MOD;
}
out<<ans;
return 0;
}