Pagini recente » Cod sursa (job #2742393) | Cod sursa (job #2637755) | Cod sursa (job #286699) | Cod sursa (job #2498619) | Cod sursa (job #2209936)
#include <fstream>
constexpr int modulo = 1999999973;
long long raise(long long n, int p)
{
if (p == 0)
return 1;
if (p < 0)
{
n = 1 / n;
p = -p;
}
long long r = 1;
while (p > 1)
{
if (!(p & 1))
{
n = n * n % modulo;
p /= 2;
}
else
{
r = n * r % modulo;
n = n * n % modulo;
p = (p - 1) / 2;
}
}
return n * r % modulo;
}
int main()
{
int n, p;
std::ifstream in("lgput.in");
std::ofstream out("lgput.out");
in >> n >> p;
out << raise(n, p);
in.close();
out.close();
return 0;
}