#include <stdio.h>
const long long MAXN = 1000000000;
int numberlen(long long val)
{
int len=0;
while( val )
{
len++;
val/=10;
}
return len;
}
int main()
{
long long a,b,c=1;
int lenc,lena,f=1;
scanf("%lld%lld",&a,&b);
while( b )
{
if( b%2==1 )
{
lenc = numberlen(c);
lena = numberlen(a);
if( a<0 || lenc>10 || lena>10 || lenc+lena>11 ){ f=0; break; }
c = c * a;
if( c<0 || c > MAXN ){ f=0; break; }
}
a = a*a;
b = b/2;
if( b )
{
lena = numberlen(a);
if(a<0 || lena>10) {f=0; break; }
}
}
if( f )
printf("%lld\n", c );
else
printf("-1\n");
}