


def  a   (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"""   )

   __a					=  __a					=  __a					=  numbers[0]

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

      # update the maximum product found till now
      __a					=  max(lowerCAmelCase__		,				lowerCAmelCase__   )

   return max_prod




"""simple docstring"""






def      UpperCAmelCase__			(							lowerCAmelCase__	:int = 5_0						)					->       int:
      '''simple docstring'''


      lowercase								=      [1] * (length + 1)

      for row_length in range(3   ,						length + 1						):
            for block_length in range(3   ,						row_length + 1						):
                  for block_start in range(row_length - block_length						):
                        ways_number[row_length] += ways_number[
                            row_length - block_start - block_length - 1
                        ]

                  ways_number[row_length] += 1

      return ways_number[length]


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



