"""simple docstring"""




from __future__ import annotations

from functools import lru_cache
from math import ceil

__lowerCamelCase							 =     1_00

__lowerCamelCase							 =     set(range(3, NUM_PRIMES, 2))
primes.add(2)
__lowerCamelCase							 =     42

for prime in range(3, ceil(NUM_PRIMES**0.5), 2):
				if prime not in primes:
								continue
				primes.difference_update(set(range(prime * prime, NUM_PRIMES, prime)))






@lru_cache(maxsize=100 )
def      UpperCAmelCase    (		UpperCamelCase__ ):






							"""simple docstring"""





							if number_to_partition < 0:
														return set()
							elif number_to_partition == 0:
														return {1}

							A__		   =							set()
							A__		   =							42
							A__		   =							42

							for prime in primes:
														if prime > number_to_partition:
																					continue
														for sub in partition(number_to_partition - prime ):
																					ret.add(sub * prime )

							return ret






def      UpperCAmelCase    (		UpperCamelCase__ = 5_000 ):






							"""simple docstring"""





							for number_to_partition in range(1				,			__lowerCamelCase ):
														if len(partition(__lowerCamelCase ) ) > number_unique_partitions:
																					return number_to_partition
							return None


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













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


