Pagini recente » Cod sursa (job #699143) | Cod sursa (job #1374215) | Cod sursa (job #2520710) | Cod sursa (job #688704) | Cod sursa (job #449266)
Cod sursa(job #449266)
# include <cstdio>
using namespace std;
# define FIN "lgput.in"
# define FOUT "lgput.out"
long long N, P, M;
long long pow(long long baza, long long putere) {
long long sol = 1, bnd;
for (bnd = 0; (1 << bnd) <= putere >> 1; ++bnd);
for (int i = 0; i <= bnd; ++i) {
if ((putere & (1 << i))) sol = (sol * baza) % M;
baza = (baza * baza) % M;
}
return sol;
}
int main() {
freopen(FIN, "r", stdin);
freopen(FOUT, "w", stdout);
M = 1999999973;
scanf("%lld%lld", &N, &P);
printf("%lld\n", pow(N, P));
return 0;
}