




from __future__ import annotations




def 							_UpperCAmelCase  (UpperCamelCase_ : list[list[int]]       ):
				'''simple docstring'''

				# 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(UpperCamelCase_       )       ):
								matrix[i][0] += matrix[i - 1][0]

				# updating the path cost for current position
				for i in range(1      ,    len(UpperCamelCase_       )       ):
								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()







def 							_UpperCAmelCase  (UpperCamelCase_ : int       ):
				'''simple docstring'''
				_lowerCAmelCase    :    int										=      n ** (1 / 3)
				return (val * val * val) == n


if __name__ == "__main__":
	print(perfect_cube(2_7))
	print(perfect_cube(4))

