






def 				lowerCamelCase__      (    __lowerCamelCase			:     list[int]  ,		__lowerCamelCase			:     list[int]		):

  # Check if the input is valid
  if not len(__lowerCamelCase		) == len(__lowerCamelCase		) == 3:
    raise ValueError("""Please enter a valid equation."""		)
  if equationa[0] == equationa[1] == equationa[0] == equationa[1] == 0:
    raise ValueError("""Both a & b of two equations can't be zero."""		)

  # Extract the coefficients
  __UpperCAmelCase      , __UpperCAmelCase      , __UpperCAmelCase							:	Any           =  equationa
  __UpperCAmelCase      , __UpperCAmelCase      , __UpperCAmelCase							:	List[Any]           =  equationa

  # Calculate the determinants of the matrices
  __UpperCAmelCase							:	Any           =  aa * ba - aa * ba
  __UpperCAmelCase							:	Optional[int]           =  ca * ba - ca * ba
  __UpperCAmelCase							:	Dict           =  aa * ca - aa * ca

  # Check if the system of linear equations has a solution (using Cramer's rule)
  if determinant == 0:
    if determinant_x == determinant_y == 0:
      raise ValueError("""Infinite solutions. (Consistent system)"""		)
    else:
      raise ValueError("""No solution. (Inconsistent system)"""		)
  else:
    if determinant_x == determinant_y == 0:
      # Trivial solution (Inconsistent system)
      return (0.0, 0.0)
    else:
      __UpperCAmelCase							:	Optional[Any]           =  determinant_x / determinant
      __UpperCAmelCase							:	Union[str, Any]           =  determinant_y / determinant
      # Non-Trivial Solution (Consistent system)
      return (x, y)










from math import log

from scipy.constants import Boltzmann, physical_constants

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






def 				lowerCamelCase__      (    __lowerCamelCase			:     float  ,		__lowerCamelCase			:     float  ,		__lowerCamelCase			:     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()


