Pagini recente » Diferente pentru implica-te/arhiva-educationala intre reviziile 223 si 1 | Cod sursa (job #1685085) | Cod sursa (job #1485720) | Cod sursa (job #624401) | Cod sursa (job #1453203)
#include <fstream>
using namespace std;
const int MOD = 1999999973;
ifstream in("lgput.in");
ofstream out("lgput.out");
int raiseMod(int base, int exp) {
int ans = 1, pow = base, i;
if(exp == 0) return 1;
for(i = 0; (1<<i) <= exp; i++) {
if((1<<i) & exp)
ans = ((long long)ans * pow) % MOD;
pow = ((long long)pow * pow) % MOD;
}
return ans;
}
int main() {
int n, p;
in >> n >> p;
out << raiseMod(n, p);
return 0;
}