






from __future__ import annotations




def       _SCREAMING_SNAKE_CASE (							__snake_case   ,      __snake_case   ,      __snake_case   ,      )				->						tuple:
       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       _SCREAMING_SNAKE_CASE (							__snake_case = 1_0_0_0 )				->						int:
       _UpperCAmelCase	,			_UpperCAmelCase							=    1, 1
       _UpperCAmelCase							=    []
       for i in range(1   ,      n + 1 ):
              _UpperCAmelCase							=    prev_numerator + 2 * prev_denominator
              _UpperCAmelCase							=    prev_numerator + prev_denominator
              if len(str(__snake_case ) ) > len(str(__snake_case ) ):
                     result.append(__snake_case )
              _UpperCAmelCase							=    numerator
              _UpperCAmelCase							=    denominator

       return len(__snake_case )


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