Pagini recente » Cod sursa (job #2105357) | Cod sursa (job #2756397) | Cod sursa (job #1753775) | Cod sursa (job #168363) | Cod sursa (job #2215930)
#include <bits/stdc++.h>
using namespace std;
long long MOD = 1999999973;
long long exp (long long a, long long b) {
if (b == 0) {
return 1;
}
if (b % 2 == 0) {
return exp ((a * a) % MOD, b / 2);
}
return (a * exp ((a * a) % MOD, (b - 1) / 2)) % MOD;
}
long long expIter (long long a, long long b) {
long long result = 1;
while (b) {
if (b % 2 == 1) {
result = (result * a) % MOD;
b -= 1;
}
else {
a = (a * a) % MOD;
b /= 2;
}
}
return result;
}
int main()
{
freopen ("lgput.in", "r", stdin);
freopen ("lgput.out", "w", stdout);
long long n, p;
cin >> n >> p;
cout << expIter (n, p);
return 0;
}