def        lowerCAmelCase_			(					__A							)					->    int:







						'''simple docstring'''


						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"							)

						UpperCAmelCase__								=  numbers[0]

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

												# update the maximum product found till now
												UpperCAmelCase__								=  max(lowerCamelCase_,  lowerCamelCase_							)

						return max_prod




from __future__ import annotations




def        lowerCAmelCase_			(					__A,  __A,  __A,  )					->    tuple:







      '''simple docstring'''


      if (electron_conc, hole_conc, intrinsic_conc).count(0							) != 1:
            raise ValueError("You cannot supply more or less than 2 values"							)
      elif electron_conc < 0:
            raise ValueError("Electron concentration cannot be negative in a semiconductor"							)
      elif hole_conc < 0:
            raise ValueError("Hole concentration cannot be negative in a semiconductor"							)
      elif intrinsic_conc < 0:
            raise ValueError(
                "Intrinsic concentration cannot be negative in a semiconductor"							)
      elif electron_conc == 0:
            return (
                "electron_conc",
                intrinsic_conc**2 / hole_conc,
            )
      elif hole_conc == 0:
            return (
                "hole_conc",
                intrinsic_conc**2 / electron_conc,
            )
      elif intrinsic_conc == 0:
            return (
                "intrinsic_conc",
                (electron_conc * hole_conc) ** 0.5,
            )
      else:
            return (-1, -1)


if __name__ == "__main__":
      import doctest

      doctest.testmod()



