


'''simple docstring'''





from __future__ import annotations






def 							__lowercase     (				__lowerCAmelCase							:       List[Any]      ,					__lowerCAmelCase							:       int      ,					__lowerCAmelCase							:       Dict      ,					):





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








def 							__lowercase     (				__lowerCAmelCase							:       int = 2_0_0     ):
							a__    =  [1, 2, 5, 1_0, 2_0, 5_0, 1_0_0, 2_0_0]
							a__    =  [0] * (pence + 1)
							a__    =  1  # base case: 1 way to make 0 pence

							for coin in coins:
														for i in range(__lowerCAmelCase      ,					pence + 1      ,					1     ):
																					number_of_ways[i] += number_of_ways[i - coin]
							return number_of_ways[pence]


if __name__ == "__main__":
						assert solution(2_00) == 7_36_82




