


from math import log

from scipy.constants import Boltzmann, physical_constants

SCREAMING_SNAKE_CASE__					:     Any       =     300  # TEMPERATURE (unit = K)




def    a__    (		snake_case__					:							str						,   snake_case__					:							int						,   snake_case__					:							Any						,   ):

  if donor_conc <= 0:
    raise ValueError("""Donor concentration should be positive"""     )
  elif acceptor_conc <= 0:
    raise ValueError("""Acceptor concentration should be positive"""     )
  elif intrinsic_conc <= 0:
    raise ValueError("""Intrinsic concentration should be positive"""     )
  elif donor_conc <= intrinsic_conc:
    raise ValueError(
        """Donor concentration should be greater than intrinsic concentration"""     )
  elif acceptor_conc <= intrinsic_conc:
    raise ValueError(
        """Acceptor concentration should be greater than intrinsic concentration"""     )
  else:
    return (
        Boltzmann
        * T
        * log((donor_conc * acceptor_conc) / intrinsic_conc**2     )
        / physical_constants["electron volt"][0]
    )


if __name__ == "__main__":
 import doctest

 doctest.testmod()






def _lowerCamelCase  (		snake_case = 10  ):
							if not isinstance(snake_case     , snake_case  ) or n < 0:
														raise ValueError('Invalid input'  )
							_lowerCAmelCase							=							10**n
							_lowerCAmelCase							=							28_433 * (pow(2     , 7_830_457     , snake_case  )) + 1
							return str(number % modulus  )


if __name__ == "__main__":
				from doctest import testmod

				testmod()
				print(f"""{solution(1_0) = }""")






