/*求a^b 如2的9比方 pow缺点有精度截断问题
2 9
ans=2
a=4 b=4
a=16 b=2
a=16*16 b=1
*/
#include<iostream>
#include<cstdio>
using namespace std;
long long ksm(long long a,long long b){
long long ans=1;
while(b){
if(b&1){//奇数
ans*=a;
}
a*=a;
b>>=1;
}
return ans;
}
int main()
{
printf("%lld",ksm(2,9));
return 0;
}