





def  SCREAMING_SNAKE_CASE				(      snake_case						,   snake_case							)		->    float:
		if discount_rate < 0:
				raise ValueError('Discount rate cannot be negative'							)
		if not cash_flows:
				raise ValueError('Cash flows list cannot be empty'							)
		__lowercase											=     sum(
		    cash_flow / ((1 + discount_rate) ** i) for i, cash_flow in enumerate(snake_case							)							)
		return round(snake_case						,   ndigits=2							)


if __name__ == "__main__":
		import doctest

		doctest.testmod()











def  SCREAMING_SNAKE_CASE				(      snake_case						,   snake_case						,   snake_case							)		->    bool:
		return not any(
		    neighbour == 1 and colored_vertices[i] == color
		    for i, neighbour in enumerate(snake_case							)							)



def  SCREAMING_SNAKE_CASE				(      snake_case						,   snake_case						,   snake_case						,   snake_case							)		->    bool:

		# Base Case
		if index == len(snake_case							):
				return True

		# Recursive Step
		for i in range(snake_case							):
				if valid_coloring(graph[index]						,   snake_case						,   snake_case							):
						# Color current vertex
						__lowercase											=     i
						# Validate coloring
						if util_color(snake_case						,   snake_case						,   snake_case						,   index + 1							):
								return True
						# Backtrack
						__lowercase											=     -1
		return False



def  SCREAMING_SNAKE_CASE				(      snake_case						,   snake_case							)		->    list[int]:
		__lowercase											=     [-1] * len(snake_case							)

		if util_color(snake_case						,   snake_case						,   snake_case						,   0							):
				return colored_vertices

		return []




