Pagini recente » Cod sursa (job #1122696) | Cod sursa (job #3212996) | Cod sursa (job #751703) | Cod sursa (job #2739406) | Cod sursa (job #3234694)
#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)
{
if(x % MOD == 0)
{
return 1;
}
else if(x % MOD == 1)
{
return (e + 1) % MOD;
}
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;
}