


"""simple docstring"""



from math import log

from scipy.constants import Boltzmann, physical_constants

lowercase_							=							3_00  # TEMPERATURE (unit = K)
def      UpperCAmelCase     (       _lowercase :   float			,   _lowercase :   float			,   _lowercase :   float			,   )						-> float:


	"""simple docstring"""




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



"""simple docstring"""



def      UpperCAmelCase     (       _lowercase :   int = 1_0_0_0	)						-> int:


	"""simple docstring"""




	lowerCAmelCase_							,	lowerCAmelCase_      							=			1, 1
	lowerCAmelCase_      							=			[]
	for i in range(1			,   n + 1	):
		lowerCAmelCase_      							=			prev_numerator + 2 * prev_denominator
		lowerCAmelCase_      							=			prev_numerator + prev_denominator
		if len(str(_lowercase	)	) > len(str(_lowercase	)	):
			result.append(_lowercase	)
		lowerCAmelCase_      							=			numerator
		lowerCAmelCase_      							=			denominator

	return len(_lowercase	)


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