





"""simple docstring"""






def     __A      (			a_						:int   ,       a_						:int)		->		int:
				return int((input_a, input_a).count(1) != 0)

def     __A      (			)		->		None:
				assert or_gate(0   ,       0) == 0
				assert or_gate(0   ,       1) == 1
				assert or_gate(1   ,       0) == 1
				assert or_gate(1   ,       1) == 1


if __name__ == "__main__":
		print(or_gate(0, 1))
		print(or_gate(1, 0))
		print(or_gate(0, 0))
		print(or_gate(1, 1))






"""simple docstring"""






from math import log

from scipy.constants import Boltzmann, physical_constants

A 			=  300  # TEMPERATURE (unit = K)

def     __A      (			a_						:float   ,       a_						:float   ,       a_						:float   ,       )		->		float:

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