Pagini recente » Cod sursa (job #1636738) | Cod sursa (job #1639656) | Cod sursa (job #415745) | Cod sursa (job #1724746) | Cod sursa (job #1113544)
#include <fstream>
using namespace std;
int main() {
ifstream in("lgput.in");
ofstream out("lgput.out");
int x,y;
int P[50];
in >> x >> y;
long long int z = 1;
long long int k = x;
for(int i = 0;i<50;i++){
k *= k;
k %= 1999999973;
P[i] = k;
// out << P[i] << "\n";
}
while (y > 1) {
int i = 0;
int l = 2;
while (l * l < y){
l *= l;
i++;
}
z *= P[i];
z %= 1999999973;
y = y - l;
}
if(y == 1){
z *= x;
z %= 1999999973;
}
out << z;
in.close();
out.close();
}