

from __future__ import annotations
def 							__SCREAMING_SNAKE_CASE     (   a__    :   list[list[int]]       )					->				int:

	# 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 Sequence
def 							__SCREAMING_SNAKE_CASE     (   a__    :   Sequence[float]			,a__    :   float       )					->				float:
	return sum(c * (x**i) for i, c in enumerate(a__       )       )
def 							__SCREAMING_SNAKE_CASE     (   a__    :   Sequence[float]			,a__    :   float       )					->				float:
	__A :			Any		    =			0.0
	for coeff in reversed(a__       ):
		__A :			List[str]		    =			result * x + coeff
	return result


if __name__ == "__main__":
			UpperCAmelCase_							:					List[str]		 =   (0.0, 0.0, 5.0, 9.3, 7.0)
			UpperCAmelCase_							:					str		 =   10.0
			print(evaluate_poly(poly, x))
			print(horner(poly, x))





