



from collections.abc import Callable

import numpy as np

def        __a			(   __lowerCAmelCase      ,	__lowerCAmelCase      ,	__lowerCAmelCase      ,	__lowerCAmelCase      ,	__lowerCAmelCase   )     ->     np.ndarray:
					SCREAMING_SNAKE_CASE							:     Optional[int]						=				int(np.ceil((x_end - xa) / step_size   )   )
					SCREAMING_SNAKE_CASE							:     Dict						=				np.zeros((n + 1,)   )
					SCREAMING_SNAKE_CASE							:     Optional[int]						=				ya
					SCREAMING_SNAKE_CASE							:     List[str]						=				xa

					for k in range(__lowerCAmelCase   ):
										SCREAMING_SNAKE_CASE							:     Tuple						=				y[k] + step_size * ode_func(__lowerCAmelCase      ,	y[k]   )
										x += step_size

					return y


if __name__ == "__main__":
			import doctest

			doctest.testmod()




def        __a			(   __lowerCAmelCase      ,	__lowerCAmelCase = 0   )     ->     list:
					SCREAMING_SNAKE_CASE							:     int						=				length or len(__lowerCAmelCase   )
					SCREAMING_SNAKE_CASE							:     Union[str, Any]						=				False
					for i in range(length - 1   ):
										if list_data[i] > list_data[i + 1]:
															SCREAMING_SNAKE_CASE					,  SCREAMING_SNAKE_CASE							:     List[Any]						=				list_data[i + 1], list_data[i]
															SCREAMING_SNAKE_CASE							:     Any						=				True

					return list_data if not swapped else bubble_sort(__lowerCAmelCase      ,	length - 1   )


if __name__ == "__main__":
			import doctest

			doctest.testmod()