


"""simple docstring"""





from __future__ import annotations

from collections.abc import Iterator
from typing import Generic, TypeVar

snake_case__		:     Optional[int]    				=				TypeVar('''T''')



class 		snake_case_(       Generic[T]			):






     def __init__(	self  :					Optional[Any]					,				UpperCamelCase_  :					T				):
           lowerCAmelCase					:	str       =   data
           lowerCAmelCase					:	Node[T] | None       =   None






     def __str__(	self  :					List[Any]				):
           return F'''{self.data}'''



class 		snake_case_(       Generic[T]			):






     def __init__(	self  :					List[Any]				):
           lowerCAmelCase					:	Node[T] | None       =   None






     def __iter__(	self  :					Union[str, Any]				):
           lowerCAmelCase					:	List[Any]       =   self.top
           while node:
                 yield node.data
                 lowerCAmelCase					:	Dict       =   node.next






     def __str__(	self  :					Optional[int]				):
           return "->".join([str(UpperCamelCase_				) for item in self]				)






     def __len__(	self  :					Dict				):
           return len(tuple(iter(self				)				)				)






     def      lowerCamelCase__     (	self  :					int				):
           return self.top is None






     def      lowerCamelCase__     (	self  :					List[Any]					,				UpperCamelCase_  :					T				):
           lowerCAmelCase					:	List[Any]       =   Node(UpperCamelCase_				)
           if not self.is_empty():
                 lowerCAmelCase					:	str       =   self.top
           lowerCAmelCase					:	Tuple       =   node






     def      lowerCamelCase__     (	self  :					Any				):
           if self.is_empty():
                 raise IndexError('''pop from empty stack'''				)
           assert isinstance(self.top					,				UpperCamelCase_				)
           lowerCAmelCase					:	Optional[Any]       =   self.top
           lowerCAmelCase					:	List[str]       =   self.top.next
           return pop_node.data






     def      lowerCamelCase__     (	self  :					Optional[int]				):
           if self.is_empty():
                 raise IndexError('''peek from empty stack'''				)

           assert self.top is not None
           return self.top.data






     def      lowerCamelCase__     (	self  :					Optional[int]				):
           lowerCAmelCase					:	Optional[int]       =   None


if __name__ == "__main__":
 from doctest import testmod

 testmod()






"""simple docstring"""





from __future__ import annotations


def      _snake_case						(						_snake_case				:			list[int] ,   _snake_case				:			int			):
      if len(_snake_case			) == 0:
            return False
      lowerCAmelCase					:	List[Any]       =   len(_snake_case			) // 2
      if a_list[midpoint] == item:
            return True
      if item < a_list[midpoint]:
            return binary_search(a_list[:midpoint] ,   _snake_case			)
      else:
            return binary_search(a_list[midpoint + 1 :] ,   _snake_case			)


if __name__ == "__main__":
 snake_case__		:     List[str]    				=				input('''Enter numbers separated by comma:\n''').strip()
 snake_case__		:     Optional[int]    				=				[int(item.strip()) for item in user_input.split(''',''')]
 snake_case__		:     Dict    				=				int(input('''Enter the number to be found in the list:\n''').strip())
 snake_case__		:     str    				=				'''''' if binary_search(sequence, target) else '''not '''
 print(f"""{target} was {not_str}found in {sequence}""")


