


def        lowerCAmelCase_  (      __lowerCamelCase			):
		if not numbers:
				return 0

		if not isinstance(__lowerCamelCase							,			(list, tuple)			) or not all(
		    isinstance(__lowerCamelCase							,			__lowerCamelCase			) for number in numbers			):
				raise ValueError("numbers must be an iterable of integers"			)

		__snake_case	:    int											=     numbers[0]

		for i in range(1							,			len(__lowerCamelCase			)			):
				# update the maximum and minimum subarray products
				__snake_case	:    Optional[Any]											=     numbers[i]
				if number < 0:
						__snake_case				,    __snake_case	:    Tuple											=     min_till_now, max_till_now
				__snake_case	:    Optional[Any]											=     max(__lowerCamelCase							,			max_till_now * number			)
				__snake_case	:    Optional[int]											=     min(__lowerCamelCase							,			min_till_now * number			)

				# update the maximum product found till now
				__snake_case	:    Union[str, Any]											=     max(__lowerCamelCase							,			__lowerCamelCase			)

		return max_prod





import math







def        lowerCAmelCase_  (      __lowerCamelCase							,			__lowerCamelCase			):

							if initial_intensity < 0:
														raise ValueError("The value of intensity cannot be negative"			)
														# handling of negative values of initial intensity
							if angle < 0 or angle > 3_6_0:
														raise ValueError("In Malus Law, the angle is in the range 0-360 degrees"			)
														# handling of values out of allowed range
							return initial_intensity * (math.cos(math.radians(__lowerCamelCase			)			) ** 2)


if __name__ == "__main__":
			import doctest

			doctest.testmod(name="malus_law")

