"""simple docstring"""







from __future__ import annotations
def 						__UpperCAmelCase       (					UpperCAmelCase_					:       float    ,							UpperCAmelCase_					:       float    ,							UpperCAmelCase_					:       float    ,							)							->    tuple:

	'''simple docstring'''





	if (electron_conc, hole_conc, intrinsic_conc).count(0						) != 1:
		raise ValueError('You cannot supply more or less than 2 values'						)
	elif electron_conc < 0:
		raise ValueError('Electron concentration cannot be negative in a semiconductor'						)
	elif hole_conc < 0:
		raise ValueError('Hole concentration cannot be negative in a semiconductor'						)
	elif intrinsic_conc < 0:
		raise ValueError(
		    'Intrinsic concentration cannot be negative in a semiconductor'						)
	elif electron_conc == 0:
		return (
		    "electron_conc",
		    intrinsic_conc**2 / hole_conc,
		)
	elif hole_conc == 0:
		return (
		    "hole_conc",
		    intrinsic_conc**2 / electron_conc,
		)
	elif intrinsic_conc == 0:
		return (
		    "intrinsic_conc",
		    (electron_conc * hole_conc) ** 0.5,
		)
	else:
		return (-1, -1)


if __name__ == "__main__":
	import doctest

	doctest.testmod()






"""simple docstring"""







from __future__ import annotations
def 						__UpperCAmelCase       (					UpperCAmelCase_					:       int						)							->    list[int]:

	'''simple docstring'''





	__snake_case    :							Union[str, Any]   	=				[True] * limit
	__snake_case    :							Tuple   	=				False
	__snake_case    :							Union[str, Any]   	=				False
	__snake_case    :							List[str]   	=				True

	for i in range(3    ,							int(limit**0.5 + 1						)    ,							2						):
		__snake_case    :							List[str]   	=				i * 2
		while index < limit:
			__snake_case    :							List[str]   	=				False
			__snake_case    :							Union[str, Any]   	=				index + i

	__snake_case    :							str   	=				[2]

	for i in range(3    ,							UpperCAmelCase_    ,							2						):
		if is_prime[i]:
			primes.append(UpperCAmelCase_						)

	return primes
def 						__UpperCAmelCase       (					UpperCAmelCase_					:       int = 1_00_00_00						)							->    int:

	'''simple docstring'''





	__snake_case    :							Tuple   	=				prime_sieve(UpperCAmelCase_						)
	__snake_case    :							int   	=				0
	__snake_case    :							str   	=				0

	for i in range(len(UpperCAmelCase_						)						):
		for j in range(i + length    ,							len(UpperCAmelCase_						)						):
			__snake_case    :							Union[str, Any]   	=				sum(primes[i:j]						)
			if sol >= ceiling:
				break

			if sol in primes:
				__snake_case    :							List[Any]   	=				j - i
				__snake_case    :							Optional[Any]   	=				sol

	return largest


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





