class Solution {
public:
double Power(double base, int exponent) {
typedef long long LL;
double res = 1, t = base;
long long int m = abs(LL(exponent));
for(; m; m >>= 1){
if(m & 1) res *= t;
t *= t;
}
if(exponent < 0)
res = 1 / res;
return res;
}
};