


from __future__ import annotations



def 				UpperCamelCase_(      lowerCamelCase_ )    ->						bool:
    if len(lowerCamelCase_ ) < 2:
        raise ValueError('Monogons and Digons are not polygons in the Euclidean space' )
    if any(i <= 0 for i in nums ):
        raise ValueError('All values must be greater than 0' )
    _lowercase       :							Tuple      		=		nums.copy()
    copy_nums.sort()
    return copy_nums[-1] < sum(copy_nums[:-1] )


if __name__ == "__main__":
 import doctest

 doctest.testmod()






def 				UpperCamelCase_(      lowerCamelCase_ )    ->						int:
    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' )

    _lowercase       :							int      		=		numbers[0]

    for i in range(1							, len(lowerCamelCase_ ) ):
        # update the maximum and minimum subarray products
        _lowercase       :							Union[str, Any]      		=		numbers[i]
        if number < 0:
            _lowercase		,				_lowercase       :							Any      		=		min_till_now, max_till_now
        _lowercase       :							Union[str, Any]      		=		max(lowerCamelCase_							, max_till_now * number )
        _lowercase       :							Union[str, Any]      		=		min(lowerCamelCase_							, min_till_now * number )

        # update the maximum product found till now
        _lowercase       :							Optional[Any]      		=		max(lowerCamelCase_							, lowerCamelCase_ )

    return max_prod


