Pagini recente » Cod sursa (job #2610844) | Cod sursa (job #809502) | Cod sursa (job #407052) | Cod sursa (job #2394774) | Cod sursa (job #2285457)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("sumdiv.in");
ofstream g("sumdiv.out");
const int mod = 9901;
long long s = 1;
int pow(long long a, int p)
{
long long x = 1;
while(p > 0)
if(p % 2 == 0)
{
p /= 2;
a = a * a % mod;
}
else
{
x=x*a%mod;
p--;
}
return x;
}
void add(int x, int n)
{
if(x == 0)
return;
if(x == 1)
s = s * (n + 1) % mod;
else
{
s = s * (pow(x, n + 1) + mod - 1) % mod * pow(x - 1, mod - 2) % mod;
}
}
int main()
{
int a, b;
f >> a >> b;
for(int i = 2; i * i <= a; i++)
if(a % i == 0)
{
int p = 0;
do
{
p++;
a /= i;
}
while(a % i == 0);
add(i % mod, b * p);
}
if(a > 1)
add(a % mod, b);
g<<s;
return 0;
}