Pagini recente » Cod sursa (job #1575322) | Cod sursa (job #740169) | Cod sursa (job #2805598) | Cod sursa (job #513849) | Cod sursa (job #2932003)
#include <iostream>
using namespace std;
#define MOD 9901
int ridicput (int n, int p)
{
int put = 1;
while (p > 1)
{
if(p % 2 == 1)
put = (long long)put * n % MOD;
n = (long long)n * n % MOD;
p = p / 2;
}
return (long long)n * put % MOD;
}
int inversmod (int a)
{
return ridicput(a, MOD-2);
}
int main()
{
int a, b, div, put;
long long Sdiv;
cin >> a >> b;
Sdiv = 1;
div = 2;
while (a > 1)
{
put = 0;
while(a % div == 0)
{
put++;
a /= div;
}
put *= b;
Sdiv = Sdiv * (ridicput(div, put) - 1) * inversmod(div - 1) % MOD;
}
cout << Sdiv;
return 0;
}