'''simple docstring'''




def 							lowerCamelCase			(   UpperCAmelCase__ :      str   ,   UpperCAmelCase__ :      str				)    ->   str:

							if not (isinstance(UpperCAmelCase__   ,   UpperCAmelCase__				) and isinstance(UpperCAmelCase__   ,   UpperCAmelCase__				)):
														raise ValueError("""longest_common_substring() takes two strings for inputs"""				)

							lowercase_      :    Optional[int]       		= len(UpperCAmelCase__				)
							lowercase_      :    Union[str, Any]       		= len(UpperCAmelCase__				)

							lowercase_      :    str       		= [[0] * (texta_length + 1) for _ in range(texta_length + 1				)]
							lowercase_      :    Union[str, Any]       		= 0
							lowercase_      :    Dict       		= 0

							for i in range(1   ,   texta_length + 1				):
														for j in range(1   ,   texta_length + 1				):
																					if texta[i - 1] == texta[j - 1]:
																												lowercase_      :    int       		= 1 + dp[i - 1][j - 1]
																												if dp[i][j] > ans_length:
																																			lowercase_      :    List[Any]       		= i
																																			lowercase_      :    str       		= dp[i][j]

							return texta[ans_index - ans_length : ans_index]


if __name__ == "__main__":
						import doctest

						doctest.testmod()






'''simple docstring'''




from collections.abc import Callable

import numpy as np




def 							lowerCamelCase			(   UpperCAmelCase__ :      Callable   ,   UpperCAmelCase__ :      float   ,   UpperCAmelCase__ :      float   ,   UpperCAmelCase__ :      float   ,   UpperCAmelCase__ :      float				)    ->   np.array:
							lowercase_      :    Any       		= int(np.ceil((x_end - xa) / step_size				)				)
							lowercase_      :    List[Any]       		= np.zeros((n + 1,)				)
							lowercase_      :    List[Any]       		= ya
							lowercase_      :    List[str]       		= xa

							for k in range(UpperCAmelCase__				):
														lowercase_      :    Optional[Any]       		= y[k] + step_size * ode_func(UpperCAmelCase__   ,   y[k]				)
														lowercase_      :    List[Any]       		= y[k] + (
														    (step_size / 2) * (ode_func(UpperCAmelCase__   ,   y[k]				) + ode_func(x + step_size   ,   UpperCAmelCase__				))
														)
														x += step_size

							return y


if __name__ == "__main__":
						import doctest

						doctest.testmod()





