def       __lowerCAmelCase      (						A_   : float					)    ->  float:
  return 10 - x * x




def       __lowerCAmelCase      (						A_   : float						,	A_   : float					)    ->  float:
  # Bolzano theory in order to find if there is a root between a and b
  if equation(A_					) * equation(A_					) >= 0:
    raise ValueError("Wrong space!"					)

  __UpperCAmelCase						    =       a
  while (b - a) >= 0.01:
    # Find middle point
    __UpperCAmelCase						    =       (a + b) / 2
    # Check if middle point is root
    if equation(A_					) == 0.0:
      break
    # Decide the side to repeat the steps
    if equation(A_					) * equation(A_					) < 0:
      __UpperCAmelCase						    =       c
    else:
      __UpperCAmelCase						    =       c
  return c


if __name__ == "__main__":
       import doctest

       doctest.testmod()

       print(bisection(-2, 5))
       print(bisection(0, 6))




from abc import ABC, abstractmethod
from argparse import ArgumentParser


class 			UpperCAmelCase__    (		snake_case					):



  """simple docstring"""






  @staticmethod
  @abstractmethod
  def 	_UpperCAmelCase				(				__lowerCAmelCase:			ArgumentParser   ) -> Tuple:




    '''simple docstring'''




    raise NotImplementedError()






  @abstractmethod
  def 	_UpperCAmelCase				(				self:			List[str]   ) -> List[Any]:




    '''simple docstring'''




    raise NotImplementedError()



