#include <iostream>
using namespace std;
int ksm(int n,int m)
{
int ans=1;
while(m!=0)
{
if(m & 1) // 如果m的二进制的最低位为1;
{
ans=ans*n;
}
m=m>>1; // 将m的二进制整体向右移动,相当于除2;
n=n*n; // n^1,n^2,n^4,n^8,n^16 ······ ;
}
return ans;
}
int main()
{
int n,m;
cin>>n>>m;
cout<<ksm(n,m)<<endl;
return 0;
}
03-24