




"""simple docstring"""





from collections.abc import Callable

import numpy as np

def 					_UpperCamelCase    (			UpperCamelCase				,       UpperCamelCase				,       UpperCamelCase				,       UpperCamelCase				,       UpperCamelCase							)			->			np.ndarray:


			"""simple docstring"""
			__UpperCAmelCase	: Union[str, Any]		=					int(np.ceil((x_end - xa) / step_size							)							)
			__UpperCAmelCase	: Optional[int]		=					np.zeros((n + 1,)							)
			__UpperCAmelCase	: Optional[int]		=					ya
			__UpperCAmelCase	: int		=					xa

			for k in range(UpperCamelCase							):
						__UpperCAmelCase	: Any		=					y[k] + step_size * ode_func(UpperCamelCase				,       y[k]							)
						x += step_size

			return y


if __name__ == "__main__":
					import doctest

					doctest.testmod()








"""simple docstring"""





def 					_UpperCamelCase    (			UpperCamelCase				,       UpperCamelCase				,       UpperCamelCase							)			->			int:


			"""simple docstring"""

			if exponent == 1:
						return base
			if exponent % 2 == 0:
						__UpperCAmelCase	: Union[str, Any]		=					_modexpt(UpperCamelCase				,       exponent // 2				,       UpperCamelCase							) % modulo_value
						return (x * x) % modulo_value
			else:
						return (base * _modexpt(UpperCamelCase				,       exponent - 1				,       UpperCamelCase							)) % modulo_value

def 					_UpperCamelCase    (			UpperCamelCase = 1777				,       UpperCamelCase = 1855				,       UpperCamelCase = 8							)			->			int:


			"""simple docstring"""
			__UpperCAmelCase	: Optional[int]		=					base
			for _ in range(1				,       UpperCamelCase							):
						__UpperCAmelCase	: str		=					_modexpt(UpperCamelCase				,       UpperCamelCase				,       10**digits							)

			return result


if __name__ == "__main__":
					print(f'''{solution() = }''')


