






from __future__ import annotations





def 					lowercase_ (    __snake_case     :							list[int]      )     -> int:





				'''simple docstring'''


				snake_case__      :Union[str, Any]         =   len(__snake_case      ) // 2

				# choose the middle 3 elements
				snake_case__      :List[str]         =   lst[m - 1 : m + 2]

				# if middle element is peak
				if three[1] > three[0] and three[1] > three[2]:
								return three[1]

				# if increasing, recurse on right
				elif three[0] < three[2]:
								if len(lst[:m]      ) == 2:
												m -= 1
								return peak(lst[m:]      )

				# decreasing
				else:
								if len(lst[:m]      ) == 2:
												m += 1
								return peak(lst[:m]      )


if __name__ == "__main__":
	import doctest

	doctest.testmod()







def 					lowercase_ (    __snake_case     :							list      )     -> list:





				'''simple docstring'''


				if any(not isinstance(__snake_case	,	__snake_case      ) or x < 0 for x in sequence      ):
								raise TypeError("Sequence must be list of non-negative integers"      )
				for _ in range(len(__snake_case      )      ):
								for i, (rod_upper, rod_lower) in enumerate(zip(__snake_case	,	sequence[1:]      )      ):
												if rod_upper > rod_lower:
																sequence[i] -= rod_upper - rod_lower
																sequence[i + 1] += rod_upper - rod_lower
				return sequence


if __name__ == "__main__":
	assert bead_sort([5, 4, 3, 2, 1]) == [1, 2, 3, 4, 5]
	assert bead_sort([7, 9, 4, 3, 5]) == [3, 4, 5, 7, 9]