#include<bits/stdc++.h>
using namespace std;
int n,m,res,flag;
int qpow(int a,int b) {
int ans=1;
while(b) {
if(b&1)ans=ans*a;
if(ans>1000000000) {
flag=1;
return 0;
}
if((a>1000000000)&&b) {
flag=1;
return 0;
}
b>>=1;
a=a*a;
if((a>1000000000)&&b) {
flag=1;
return 0;
}
}
return ans;
}
int main() {
cin>>n>>m;
if(n==1) {
cout<<1;
return 0;
}
if(n>1000000000) {
cout<<-1;
return 0;
}
res=qpow(n,m);
if(res<0) {
cout<<-1;
return 0;
}
if(!flag) {
cout<<res;
return 0;
} else {
cout<<-1;
return 0;
}
}