






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







from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_sentencepiece_available


__UpperCAmelCase							:   Tuple							=  {}

try:
	if not is_sentencepiece_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	__UpperCAmelCase							:   List[Any]							=  ["BartphoTokenizer"]

if TYPE_CHECKING:
	try:
		if not is_sentencepiece_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .tokenization_bartpho import BartphoTokenizer

else:
	import sys

	__UpperCAmelCase							:   Tuple							=  _LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)