






def 					SCREAMING_SNAKE_CASE    (			snake_case_ :							float					,  snake_case_ :							list[float]       ):
	if discount_rate < 0:
		raise ValueError("Discount rate cannot be negative"       )
	if not cash_flows:
		raise ValueError("Cash flows list cannot be empty"       )
	snake_case__			:				Tuple       =  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()











__lowerCamelCase :      Optional[int]										=				"""Tobias Carryer"""

from time import time



class 							SCREAMING_SNAKE_CASE__						:





					"""simple docstring"""






					def __init__( self					:  List[Any]							,		__A					:  List[Any]							,		__A					:  Optional[int]							,		__A					:  List[str]							,		__A					:  Dict=int(time()	)	):  # noqa: B008
						snake_case__			:				List[Any]       =  multiplier
						snake_case__			:				Optional[int]       =  increment
						snake_case__			:				Optional[int]       =  modulo
						snake_case__			:				Union[str, Any]       =  seed






					def 	_lowercase					( self					:  str	):
						snake_case__			:				Union[str, Any]       =  (self.multiplier * self.seed + self.increment) % self.modulo
						return self.seed


if __name__ == "__main__":
	# Show the LCG in action.
	__lowerCamelCase :      int										=				LinearCongruentialGenerator(166_4525, 10_1390_4223, 2 << 31)
	while True:
		print(lcg.next_number())



