





def 	_SCREAMING_SNAKE_CASE		(      SCREAMING_SNAKE_CASE		:int = 2_000_000   )      ->   int:
 __lowerCAmelCase					:	Optional[int]      =       [0 for i in range(n + 1   )]
 __lowerCAmelCase					:	int      =       1
 __lowerCAmelCase					:	List[Any]      =       1

 for i in range(2   ,   int(n**0.5   ) + 1   ):
  if primality_list[i] == 0:
   for j in range(i * i   ,   n + 1   ,   SCREAMING_SNAKE_CASE   ):
    __lowerCAmelCase					:	Dict      =       1
 __lowerCAmelCase					:	Dict      =       0
 for i in range(SCREAMING_SNAKE_CASE   ):
  if primality_list[i] == 0:
   sum_of_primes += i
 return sum_of_primes


if __name__ == "__main__":
      print(f'''{solution() = }''')






def 	_SCREAMING_SNAKE_CASE		(      SCREAMING_SNAKE_CASE		:list[int]   )      ->   int:
 if not numbers:
  return 0

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

 __lowerCAmelCase					:	int      =       numbers[0]

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

  # update the maximum product found till now
  __lowerCAmelCase					:	List[str]      =       max(SCREAMING_SNAKE_CASE   ,   SCREAMING_SNAKE_CASE   )

 return max_prod