Pagini recente » Cod sursa (job #2475327) | Cod sursa (job #1405875) | Cod sursa (job #508811) | Cod sursa (job #2926193) | Cod sursa (job #2514411)
#include <fstream>
#define mod 9901
using namespace std;
ifstream f("sumdiv.in");
ofstream g("sumdiv.out");
int a,b;
int i,k;
int sus, jos;
int rez=1;
int ridicare(int n, int p)
{
int rez=1;
while (p)
{
if (p%2)
rez = (1LL * rez * n) % mod;
n = (1LL * n * n) % mod;
p = p / 2;
}
return rez;
}
int main()
{
f>>a>>b;
for (i=2; i*i<=a; i++)
{
k=0;
while (a%i==0)
{
a = a / i;
k++;
}
if (k)
{
k *= b;
sus = ridicare(i, k+1) - 1;
if (sus < 0)
sus += mod;
jos = ridicare(i-1, mod-2);
rez = (1LL * rez * sus * jos) % mod;
}
}
if (a>1)
{
k=b;
sus = ridicare(a, k+1) - 1;
if (sus < 0)
sus += mod;
jos = ridicare(a-1, mod-2);
rez = (1LL * rez * sus * jos) % mod;
}
g<<rez;
return 0;
}