

from __future__ import annotations

def        lowerCamelCase__       (    _a):

	# preprocessing the first row
	for i in range(1							,	len(matrix[0])):
		matrix[0][i] += matrix[0][i - 1]

	# preprocessing the first column
	for i in range(1							,	len(_a)):
		matrix[i][0] += matrix[i - 1][0]

	# updating the path cost for current position
	for i in range(1							,	len(_a)):
		for j in range(1							,	len(matrix[0])):
			matrix[i][j] += min(matrix[i - 1][j]							,	matrix[i][j - 1])

	return matrix[-1][-1]


if __name__ == "__main__":
			import doctest

			doctest.testmod()





from collections.abc import Callable

import numpy as np

def 			_SCREAMING_SNAKE_CASE			(							lowercase	:       Callable	,							lowercase	:       float	,							lowercase	:       float	,							lowercase	:       float	,							lowercase	:       float     ):


      '''simple docstring'''



      lowerCamelCase_		     =    int(np.ceil((x_end - xa) / step_size     )     )
      lowerCamelCase_		     =    np.zeros((n + 1,)     )
      lowerCamelCase_		     =    ya
      lowerCamelCase_		     =    xa

      for k in range(lowercase     ):
            lowerCamelCase_		     =    y[k] + step_size * ode_func(lowercase	,							y[k]     )
            lowerCamelCase_		     =    y[k] + (
                (step_size / 2) * (ode_func(lowercase	,							y[k]     ) + ode_func(x + step_size	,							lowercase     ))
            )
            x += step_size

      return y


if __name__ == "__main__":
 import doctest

 doctest.testmod()



