#include using namespace std; typedef long long LL; int main() { freopen("pow.in", "r", stdin); freopen("pow.out", "w", stdout); LL a, b, res = 1; cin >> a >> b; //需要对a==1进行特判,否则肯定会TLE一个点,为啥呢?因为b的范围!它是<=1e9!如果a是1,会空跑1e9次! if (a == 1) { printf("%d\n", 1); exit(0); } for (LL i = 1; i <= b; i++) { res *= a; if (res > 1e9) { printf("%d\n", -1); exit(0); } } printf("%lld\n", res); return 0; }