






'''simple docstring'''
def 	_a(					UpperCamelCase__			:  int,		UpperCamelCase__			:  int							):






      if b == 0:
            return 1
      if (b % 2) == 0:
            return actual_power(UpperCamelCase__,		int(b / 2							)							) * actual_power(UpperCamelCase__,		int(b / 2							)							)
      else:
            return a * actual_power(UpperCamelCase__,		int(b / 2							)							) * actual_power(UpperCamelCase__,		int(b / 2							)							)





def 	_a(					UpperCamelCase__			:  int,		UpperCamelCase__			:  int							):






      if b < 0:
            return 1 / actual_power(UpperCamelCase__,		UpperCamelCase__							)
      return actual_power(UpperCamelCase__,		UpperCamelCase__							)


if __name__ == "__main__":
  print(power(-2, -3))







'''simple docstring'''
import math





def 	_a(					UpperCamelCase__			:  int							):




      '''simple docstring'''






      return math.sqrt(UpperCamelCase__							) * math.sqrt(UpperCamelCase__							) == num





def 	_a(					UpperCamelCase__			:  int							):




      '''simple docstring'''






      SCREAMING_SNAKE_CASE__       :			List[Any]													=0
      SCREAMING_SNAKE_CASE__       :			Any													=n
      while left <= right:
            SCREAMING_SNAKE_CASE__       :			str													=(left + right) // 2
            if mid**2 == n:
                  return True
            elif mid**2 > n:
                  SCREAMING_SNAKE_CASE__       :			Optional[Any]													=mid - 1
            else:
                  SCREAMING_SNAKE_CASE__       :			Tuple													=mid + 1
      return False


if __name__ == "__main__":
  import doctest

  doctest.testmod()