


from __future__ import annotations






def 	__lowerCAmelCase   (SCREAMING_SNAKE_CASE , SCREAMING_SNAKE_CASE , SCREAMING_SNAKE_CASE , )->  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()



def 	__lowerCAmelCase   (SCREAMING_SNAKE_CASE )->  int:




      """simple docstring"""

      if not isinstance(SCREAMING_SNAKE_CASE , SCREAMING_SNAKE_CASE ):
            snake_case_	=				f'''Input value of [number={number}] must be an integer'''
            raise TypeError(SCREAMING_SNAKE_CASE )

      if number < 1:
            snake_case_	=				f'''Input value of [number={number}] must be > 0'''
            raise ValueError(SCREAMING_SNAKE_CASE )

      snake_case_	=				1

      for i in range(1 , SCREAMING_SNAKE_CASE ):
            current_number *= 4 * i - 2
            current_number //= i + 1

      return current_number


if __name__ == "__main__":
   import doctest

   doctest.testmod()