class py_solution:  
   def pow(self, x, n):  
        if x==0 or x==1 or n==1:  
            return x   
  
        if x==-1:  
            if n%2 ==0:  
                return 1  
            else:  
                return -1  
        if n==0:  
            return 1  
        if n<0:  
            return 1/self.pow(x,-n)  
        val = self.pow(x,n//2)  
        if n%2 ==0:  
            return val*val  
        return val*val*x  
  
print(py_solution().pow(2, -3));  
print(py_solution().pow(3, 5));  
print(py_solution().pow(100, 0));  