#include<iostream>
using namespace std;
typedef unsigned long long ll;
ll ksm(ll a,ll b){
ll ans=1;
while(b>0){
if(b%2==1)ans=ans*a;
a=a*a;
b/=2;
}
return ans;
}
int main(){
ll a,b,p=1;
cin>>a>>b;
if(ksm(a,b)>(ll)1e9)cout<<-1;
else cout<<ksm(a,b);
return 0;
}
求助,为啥这个做法A不了(我可能有点发癫