





def        _lowercase   (  _UpperCAmelCase			)  ->					list:

				def merge(_UpperCAmelCase     , _UpperCAmelCase			) -> list:

								def _merge():
												while left and right:
																yield (left if left[0] <= right[0] else right).pop(0			)
												yield from left
												yield from right

								return list(_merge()			)

				if len(_UpperCAmelCase			) <= 1:
								return collection
				lowerCamelCase			=len(_UpperCAmelCase			) // 2
				return merge(merge_sort(collection[:mid]			)     , merge_sort(collection[mid:]			)			)


if __name__ == "__main__":
			import doctest

			doctest.testmod()
			UpperCAmelCase__  :     Optional[Any]   			=input('''Enter numbers separated by a comma:\n''').strip()
			UpperCAmelCase__  :     str   			=[int(item) for item in user_input.split(''',''')]
			print(*merge_sort(unsorted), sep=''',''')












from math import cos, sin, sqrt, tau

from audio_filters.iir_filter import IIRFilter





def        _lowercase   (  _UpperCAmelCase     , _UpperCAmelCase     , _UpperCAmelCase = 1 / sqrt(2			)			)  ->					IIRFilter:
				lowerCamelCase			=tau * frequency / samplerate
				lowerCamelCase			=sin(_UpperCAmelCase			)
				lowerCamelCase			=cos(_UpperCAmelCase			)
				lowerCamelCase			=_sin / (2 * q_factor)

				lowerCamelCase			=(1 - _cos) / 2
				lowerCamelCase			=1 - _cos

				lowerCamelCase			=1 + alpha
				lowerCamelCase			=-2 * _cos
				lowerCamelCase			=1 - alpha

				lowerCamelCase			=IIRFilter(2			)
				filt.set_coefficients([aa, aa, aa]     , [ba, ba, ba]			)
				return filt





def        _lowercase   (  _UpperCAmelCase     , _UpperCAmelCase     , _UpperCAmelCase = 1 / sqrt(2			)			)  ->					IIRFilter:
				lowerCamelCase			=tau * frequency / samplerate
				lowerCamelCase			=sin(_UpperCAmelCase			)
				lowerCamelCase			=cos(_UpperCAmelCase			)
				lowerCamelCase			=_sin / (2 * q_factor)

				lowerCamelCase			=(1 + _cos) / 2
				lowerCamelCase			=-1 - _cos

				lowerCamelCase			=1 + alpha
				lowerCamelCase			=-2 * _cos
				lowerCamelCase			=1 - alpha

				lowerCamelCase			=IIRFilter(2			)
				filt.set_coefficients([aa, aa, aa]     , [ba, ba, ba]			)
				return filt





def        _lowercase   (  _UpperCAmelCase     , _UpperCAmelCase     , _UpperCAmelCase = 1 / sqrt(2			)			)  ->					IIRFilter:
				lowerCamelCase			=tau * frequency / samplerate
				lowerCamelCase			=sin(_UpperCAmelCase			)
				lowerCamelCase			=cos(_UpperCAmelCase			)
				lowerCamelCase			=_sin / (2 * q_factor)

				lowerCamelCase			=_sin / 2
				lowerCamelCase			=0
				lowerCamelCase			=-ba

				lowerCamelCase			=1 + alpha
				lowerCamelCase			=-2 * _cos
				lowerCamelCase			=1 - alpha

				lowerCamelCase			=IIRFilter(2			)
				filt.set_coefficients([aa, aa, aa]     , [ba, ba, ba]			)
				return filt





def        _lowercase   (  _UpperCAmelCase     , _UpperCAmelCase     , _UpperCAmelCase = 1 / sqrt(2			)			)  ->					IIRFilter:
				lowerCamelCase			=tau * frequency / samplerate
				lowerCamelCase			=sin(_UpperCAmelCase			)
				lowerCamelCase			=cos(_UpperCAmelCase			)
				lowerCamelCase			=_sin / (2 * q_factor)

				lowerCamelCase			=1 - alpha
				lowerCamelCase			=-2 * _cos
				lowerCamelCase			=1 + alpha

				lowerCamelCase			=IIRFilter(2			)
				filt.set_coefficients([ba, ba, ba]     , [ba, ba, ba]			)
				return filt





def        _lowercase   (  _UpperCAmelCase     , _UpperCAmelCase     , _UpperCAmelCase     , _UpperCAmelCase = 1 / sqrt(2			)     , )  ->					IIRFilter:
				lowerCamelCase			=tau * frequency / samplerate
				lowerCamelCase			=sin(_UpperCAmelCase			)
				lowerCamelCase			=cos(_UpperCAmelCase			)
				lowerCamelCase			=_sin / (2 * q_factor)
				lowerCamelCase			=10 ** (gain_db / 40)

				lowerCamelCase			=1 + alpha * big_a
				lowerCamelCase			=-2 * _cos
				lowerCamelCase			=1 - alpha * big_a
				lowerCamelCase			=1 + alpha / big_a
				lowerCamelCase			=-2 * _cos
				lowerCamelCase			=1 - alpha / big_a

				lowerCamelCase			=IIRFilter(2			)
				filt.set_coefficients([aa, aa, aa]     , [ba, ba, ba]			)
				return filt





def        _lowercase   (  _UpperCAmelCase     , _UpperCAmelCase     , _UpperCAmelCase     , _UpperCAmelCase = 1 / sqrt(2			)     , )  ->					IIRFilter:
				lowerCamelCase			=tau * frequency / samplerate
				lowerCamelCase			=sin(_UpperCAmelCase			)
				lowerCamelCase			=cos(_UpperCAmelCase			)
				lowerCamelCase			=_sin / (2 * q_factor)
				lowerCamelCase			=10 ** (gain_db / 40)
				lowerCamelCase			=(big_a + 1) - (big_a - 1) * _cos
				lowerCamelCase			=(big_a + 1) + (big_a - 1) * _cos
				lowerCamelCase			=(big_a - 1) - (big_a + 1) * _cos
				lowerCamelCase			=(big_a - 1) + (big_a + 1) * _cos
				lowerCamelCase			=2 * sqrt(_UpperCAmelCase			) * alpha

				lowerCamelCase			=big_a * (pmc + aaa)
				lowerCamelCase			=2 * big_a * mpc
				lowerCamelCase			=big_a * (pmc - aaa)
				lowerCamelCase			=ppmc + aaa
				lowerCamelCase			=-2 * pmpc
				lowerCamelCase			=ppmc - aaa

				lowerCamelCase			=IIRFilter(2			)
				filt.set_coefficients([aa, aa, aa]     , [ba, ba, ba]			)
				return filt





def        _lowercase   (  _UpperCAmelCase     , _UpperCAmelCase     , _UpperCAmelCase     , _UpperCAmelCase = 1 / sqrt(2			)     , )  ->					IIRFilter:
				lowerCamelCase			=tau * frequency / samplerate
				lowerCamelCase			=sin(_UpperCAmelCase			)
				lowerCamelCase			=cos(_UpperCAmelCase			)
				lowerCamelCase			=_sin / (2 * q_factor)
				lowerCamelCase			=10 ** (gain_db / 40)
				lowerCamelCase			=(big_a + 1) - (big_a - 1) * _cos
				lowerCamelCase			=(big_a + 1) + (big_a - 1) * _cos
				lowerCamelCase			=(big_a - 1) - (big_a + 1) * _cos
				lowerCamelCase			=(big_a - 1) + (big_a + 1) * _cos
				lowerCamelCase			=2 * sqrt(_UpperCAmelCase			) * alpha

				lowerCamelCase			=big_a * (ppmc + aaa)
				lowerCamelCase			=-2 * big_a * pmpc
				lowerCamelCase			=big_a * (ppmc - aaa)
				lowerCamelCase			=pmc + aaa
				lowerCamelCase			=2 * mpc
				lowerCamelCase			=pmc - aaa

				lowerCamelCase			=IIRFilter(2			)
				filt.set_coefficients([aa, aa, aa]     , [ba, ba, ba]			)
				return filt





