///EXPONENTIERE LOGARITMICA
#include <iostream>
#include <fstream>
const long long MODULO_VALUE = 1999999973;
long long int pow_logaritmic(long long int num, long long int pow){
if(!pow){
return 1;
}
if(pow % 2 == 0){
return pow_logaritmic(num * num % MODULO_VALUE, pow / 2) % MODULO_VALUE;
}
return num * pow_logaritmic(num * num % MODULO_VALUE, pow / 2) % MODULO_VALUE;
}
int main()
{
std::ifstream in("lgput.in");
std::ofstream out("lgput.out");
long long int num, pow;
in >> num >> pow;
out << pow_logaritmic(num, pow);
return 0;
}