



from math import factorial, radians






def  lowerCamelCase_	(      lowerCAmelCase__	:	float			,	lowerCAmelCase__	:	int = 18			,	lowerCAmelCase__	:	int = 10				)       ->							float:

							'''simple docstring'''






							A      						=    angle_in_degrees - ((angle_in_degrees // 360.0) * 360.0)

							# Converting from degrees to radians
							A      						=    radians(lowerCAmelCase__				)

							A      						=    angle_in_radians
							A      						=    3
							A      						=    -1

							for _ in range(lowerCAmelCase__				):
														result += (b * (angle_in_radians**a)) / factorial(lowerCAmelCase__				)

														A      						=    -b  # One positive term and the next will be negative and so on...
														a += 2  # Increased by 2 for every term.

							return round(lowerCAmelCase__			,	lowerCAmelCase__				)


if __name__ == "__main__":
				__import__('doctest').testmod()




from bisect import bisect
from itertools import accumulate






def  lowerCamelCase_	(      lowerCAmelCase__	:	int			,	lowerCAmelCase__	:	str			,	lowerCAmelCase__	:	List[str]			,	lowerCAmelCase__	:	List[Any]				)       ->							Union[str, Any]:

							'''simple docstring'''






							A      						=    sorted(zip(lowerCAmelCase__			,	lowerCAmelCase__				)			,	key=lambda lowerCAmelCase__				: x[0] / x[1]			,	reverse=lowerCAmelCase__				)
							A						,   A      						=    [i[0] for i in r], [i[1] for i in r]
							A      						=    list(accumulate(lowerCAmelCase__				)				)
							A      						=    bisect(lowerCAmelCase__			,	lowerCAmelCase__				)
							return (
							    0
							    if k == 0
							    else sum(vl[:k]				) + (w - acc[k - 1]) * (vl[k]) / (wt[k])
							    if k != n
							    else sum(vl[:k]				)
							)


if __name__ == "__main__":
				import doctest

				doctest.testmod()