




from collections.abc import Callable

import numpy as np
def 					lowerCamelCase_    (    SCREAMING_SNAKE_CASE					,	SCREAMING_SNAKE_CASE					,	SCREAMING_SNAKE_CASE					,	SCREAMING_SNAKE_CASE					,	SCREAMING_SNAKE_CASE   ):
			'''simple docstring'''
			SCREAMING_SNAKE_CASE           =					int(np.ceil((x_end - xa) / step_size   )   )
			SCREAMING_SNAKE_CASE           =					np.zeros((n + 1,)   )
			SCREAMING_SNAKE_CASE           =					ya
			SCREAMING_SNAKE_CASE           =					xa

			for k in range(SCREAMING_SNAKE_CASE   ):
						SCREAMING_SNAKE_CASE           =					y[k] + step_size * ode_func(SCREAMING_SNAKE_CASE					,	y[k]   )
						SCREAMING_SNAKE_CASE           =					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 					lowerCamelCase_    (    SCREAMING_SNAKE_CASE   ):
			'''simple docstring'''
			create_state_space_tree(SCREAMING_SNAKE_CASE					,	[]					,	0					,	[0 for i in range(len(SCREAMING_SNAKE_CASE   )   )]   )
def 					lowerCamelCase_    (    SCREAMING_SNAKE_CASE					,	SCREAMING_SNAKE_CASE					,	SCREAMING_SNAKE_CASE					,	SCREAMING_SNAKE_CASE					,	):
			'''simple docstring'''

			if index == len(SCREAMING_SNAKE_CASE   ):
						print(SCREAMING_SNAKE_CASE   )
						return

			for i in range(len(SCREAMING_SNAKE_CASE   )   ):
						if not index_used[i]:
									current_sequence.append(sequence[i]   )
									SCREAMING_SNAKE_CASE           =					True
									create_state_space_tree(SCREAMING_SNAKE_CASE					,	SCREAMING_SNAKE_CASE					,	index + 1					,	SCREAMING_SNAKE_CASE   )
									current_sequence.pop()
									SCREAMING_SNAKE_CASE           =					False
__A						:							list[int | str]							=  [3, 1, 2, 4]
generate_all_permutations(sequence)

__A						:							list[int | str]							=  ["A", "B", "C"]




generate_all_permutations(sequence_a)






