



from collections.abc import Callable

import numpy as np





def      __snake_case	(			_UpperCAmelCase   , _UpperCAmelCase   , _UpperCAmelCase   , _UpperCAmelCase   , _UpperCAmelCase				):
    __a						       =				int(np.ceil((x_end - xa) / step_size				)				)
    __a						       =				np.zeros((n + 1,)				)
    __a						       =				ya
    __a						       =				xa

    for k in range(snake_case__				):
        __a						       =				y[k] + step_size * ode_func(snake_case__   , y[k]				)
        __a						       =				y[k] + (
            (step_size / 2) * (ode_func(snake_case__   , y[k]				) + ode_func(x + step_size   , snake_case__				))
        )
        x += step_size

    return y


if __name__ == "__main__":
 import doctest

 doctest.testmod()






import math
import sys






def  snake_case  (       snake_case__			:int)						->   int:
       if number != int(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
       _A        =  [-1] * (number + 1)
       _A        =  0
       for i in range(1   ,	number + 1):
              _A        =  sys.maxsize
              _A        =  int(math.sqrt(snake_case__))
              for j in range(1   ,	root + 1):
                     _A        =  1 + answers[i - (j**2)]
                     _A        =  min(snake_case__   ,	snake_case__)
              _A        =  answer
       return answers[number]


if __name__ == "__main__":
    import doctest

    doctest.testmod()




