

import math

def      snake_case__      (   SCREAMING_SNAKE_CASE_		:   float     ,					SCREAMING_SNAKE_CASE_		:   float      ):



     '''simple docstring'''





     return math.pow(SCREAMING_SNAKE_CASE_     ,					2      ) - a

def      snake_case__      (   SCREAMING_SNAKE_CASE_		:   float      ):



     '''simple docstring'''





     return 2 * x

def      snake_case__      (   SCREAMING_SNAKE_CASE_		:   float      ):



     '''simple docstring'''





     lowercase__   :       Union[str, Any]				=	2.0

     while start <= a:
          lowercase__   :       Tuple				=	math.pow(SCREAMING_SNAKE_CASE_     ,					2      )

     return start

def      snake_case__      (   SCREAMING_SNAKE_CASE_		:   float     ,					SCREAMING_SNAKE_CASE_		:   int = 9_999     ,					SCREAMING_SNAKE_CASE_		:   float = 0.00_0000_0000_0001      ):



     '''simple docstring'''





     if a < 0:
          raise ValueError('math domain error'      )

     lowercase__   :       Optional[int]				=	get_initial_point(SCREAMING_SNAKE_CASE_      )

     for _ in range(SCREAMING_SNAKE_CASE_      ):
          lowercase__   :       Dict				=	value
          lowercase__   :       List[Any]				=	value - fx(SCREAMING_SNAKE_CASE_     ,					SCREAMING_SNAKE_CASE_      ) / fx_derivative(SCREAMING_SNAKE_CASE_      )
          if abs(prev_value - value      ) < tolerance:
               return value

     return value


if __name__ == "__main__":
       from doctest import testmod

       testmod()




import math
import sys

def      snake_case__      (   SCREAMING_SNAKE_CASE_		:   int      ):



     '''simple docstring'''





     if number != int(SCREAMING_SNAKE_CASE_      ):
          raise ValueError('the value of input must be a natural number'      )
     if number < 0:
          raise ValueError('the value of input must not be a negative number'      )
     if number == 0:
          return 1
     lowercase__   :       Tuple				=	[-1] * (number + 1)
     lowercase__   :       Tuple				=	0
     for i in range(1     ,					number + 1      ):
          lowercase__   :       Tuple				=	sys.maxsize
          lowercase__   :       str				=	int(math.sqrt(SCREAMING_SNAKE_CASE_      )      )
          for j in range(1     ,					root + 1      ):
               lowercase__   :       List[Any]				=	1 + answers[i - (j**2)]
               lowercase__   :       str				=	min(SCREAMING_SNAKE_CASE_     ,					SCREAMING_SNAKE_CASE_      )
          lowercase__   :       List[str]				=	answer
     return answers[number]


if __name__ == "__main__":
       import doctest

       doctest.testmod()

