from __future__ import annotations


def 	lowerCamelCase					(	UpperCamelCase     :				list[int]			,       UpperCamelCase     :				list[int]			,       UpperCamelCase     :				int							)   ->    tuple[float, list[float]]:
		_lowerCamelCase				   =  list(range(len(UpperCamelCase							)							)							)
		_lowerCamelCase				   =  [v / w for v, w in zip(UpperCamelCase			,       UpperCamelCase							)]
		index.sort(key=lambda UpperCamelCase							: ratio[i]			,       reverse=UpperCamelCase							)

		_lowerCamelCase				   =  0
		_lowerCamelCase				   =  [0] * len(UpperCamelCase							)
		for i in index:
				if weight[i] <= capacity:
						_lowerCamelCase				   =  1
						max_value += value[i]
						capacity -= weight[i]
				else:
						_lowerCamelCase				   =  capacity / weight[i]
						max_value += value[i] * capacity / weight[i]
						break

		return max_value, fractions


if __name__ == "__main__":
				import doctest

				doctest.testmod()
def 	lowerCamelCase					(	UpperCamelCase     :				int			,       UpperCamelCase     :				int							)   ->    float:
		return base * power(UpperCamelCase			,       (exponent - 1)							) if exponent else 1


if __name__ == "__main__":
				print('Raise base to the power of exponent using recursion...')
				A						=			int(input('Enter the base: ').strip())
				A						=			int(input('Enter the exponent: ').strip())
				A						=			power(base, abs(exponent))
				if exponent < 0:  # power() does not properly deal w/ negative exponents
								A						=			1 / result
				print(F'''{base} to the power of {exponent} is {result}''')