#include<iostream>
using namespace std;
long long fapow(int n, int k)
{
long long q = 1;
while (k)
{//此方法相当于把幂次k看成二进制,一位一位的看
//如10看成1010,与底数n*=n相对应
if (k & 1)//k%2
q *= n;//每一步操作得到的结果
n *= n;//对应的
k >>= 1;//k/=2
}
return q;
}
int main()
{
int n, k;
cin >> n >> k;
long long q = fapow(n, k);
cout << q;
return 0;
}