






from collections.abc import Callable

import numpy as np




def      __A					(     _lowercase					,			_lowercase					,			_lowercase					,			_lowercase					,			_lowercase ):

					'''simple docstring'''







					_A								= int(np.ceil((x_end - xa) / step_size ) )
					_A								= np.zeros((n + 1,) )
					_A								= ya
					_A								= xa

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

					return y


if __name__ == "__main__":
			import doctest

			doctest.testmod()











from __future__ import annotations




def      __A					(     _lowercase					,			_lowercase					,			_lowercase					,			_lowercase ):  # noqa: E741

					'''simple docstring'''







					while r - l > 1:
										_A								= (l + r) // 2
										if v[m] >= key:
															_A								= m
										else:
															_A								= m  # noqa: E741
					return r




def      __A					(     _lowercase ):

					'''simple docstring'''







					if len(_lowercase ) == 0:
										return 0

					_A								= [0] * len(_lowercase )
					_A								= 1

					_A								= v[0]

					for i in range(1					,			len(_lowercase ) ):
										if v[i] < tail[0]:
															_A								= v[i]
										elif v[i] > tail[length - 1]:
															_A								= v[i]
															length += 1
										else:
															_A								= v[i]

					return length


if __name__ == "__main__":
				import doctest

				doctest.testmod()



