'''simple docstring'''




def 							lowerCamelCase			(   UpperCAmelCase__ :      List[str]   ,   UpperCAmelCase__ :      Dict				)    ->   Any:
							lowercase_      :    Optional[int]       		= [0 for i in range(r + 1				)]
							# nc0 = 1
							lowercase_      :    Optional[Any]       		= 1
							for i in range(1   ,   n + 1				):
														# to compute current row from previous row.
														lowercase_      :    str       		= min(UpperCAmelCase__   ,   UpperCAmelCase__				)
														while j > 0:
																					c[j] += c[j - 1]
																					j -= 1
							return c[r]

print(binomial_coefficient(n=10, r=5))






'''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()





