


'''simple docstring'''






import numpy as np

lowercase							=[
    ['a', 'b', 'c', 'd', 'e'],
    ['f', 'g', 'h', 'i', 'k'],
    ['l', 'm', 'n', 'o', 'p'],
    ['q', 'r', 's', 't', 'u'],
    ['v', 'w', 'x', 'y', 'z'],
]






class  __magic_name__							:






       def __init__(      self)						->  None:




          '''simple docstring'''
          _UpperCAmelCase       :       Union[str, Any]							   =np.array(snake_case)






       def       lowerCAmelCase		(      self  ,							snake_case)						->  np.ndarray:




          '''simple docstring'''
          _UpperCAmelCase   ,	_UpperCAmelCase       :       Any							   =np.where(letter == self.SQUARE)
          _UpperCAmelCase       :       List[str]							   =np.concatenate([indexa + 1, indexa + 1])
          return indexes






       def       lowerCAmelCase		(      self  ,							snake_case  ,							snake_case)						->  str:




          '''simple docstring'''
          _UpperCAmelCase       :       Union[str, Any]							   =self.SQUARE[indexa - 1, indexa - 1]
          return letter






       def       lowerCAmelCase		(      self  ,							snake_case)						->  str:




          '''simple docstring'''
          _UpperCAmelCase       :       List[str]							   =message.lower()
          _UpperCAmelCase       :       List[Any]							   =message.replace(' '  ,							'')
          _UpperCAmelCase       :       Tuple							   =message.replace('j'  ,							'i')

          _UpperCAmelCase       :       Optional[int]							   =np.empty((2, len(snake_case)))
          for letter_index in range(len(snake_case)):
             _UpperCAmelCase       :       str							   =self.letter_to_numbers(message[letter_index])

             _UpperCAmelCase       :       int							   =numbers[0]
             _UpperCAmelCase       :       Any							   =numbers[1]

          _UpperCAmelCase       :       str							   =first_step.reshape(2 * len(snake_case))
          _UpperCAmelCase       :       List[Any]							   =''
          for numbers_index in range(len(snake_case)):
             _UpperCAmelCase       :       Optional[Any]							   =int(second_step[numbers_index * 2])
             _UpperCAmelCase       :       Optional[Any]							   =int(second_step[(numbers_index * 2) + 1])
             _UpperCAmelCase       :       List[str]							   =self.numbers_to_letter(snake_case  ,							snake_case)
             _UpperCAmelCase       :       str							   =encoded_message + letter

          return encoded_message






       def       lowerCAmelCase		(      self  ,							snake_case)						->  str:




          '''simple docstring'''
          _UpperCAmelCase       :       str							   =message.lower()
          message.replace(' '  ,							'')
          _UpperCAmelCase       :       Optional[int]							   =np.empty(2 * len(snake_case))
          for letter_index in range(len(snake_case)):
             _UpperCAmelCase       :       Union[str, Any]							   =self.letter_to_numbers(message[letter_index])
             _UpperCAmelCase       :       List[Any]							   =numbers[0]
             _UpperCAmelCase       :       Any							   =numbers[1]

          _UpperCAmelCase       :       Any							   =first_step.reshape((2, len(snake_case)))
          _UpperCAmelCase       :       Tuple							   =''
          for numbers_index in range(len(snake_case)):
             _UpperCAmelCase       :       Tuple							   =int(second_step[0, numbers_index])
             _UpperCAmelCase       :       Tuple							   =int(second_step[1, numbers_index])
             _UpperCAmelCase       :       Tuple							   =self.numbers_to_letter(snake_case  ,							snake_case)
             _UpperCAmelCase       :       int							   =decoded_message + letter

          return decoded_message





'''simple docstring'''






from __future__ import annotations

import bisect





def lowerCamelCase__      (						__lowerCamelCase	:							list[int]	,   __lowerCamelCase	:							int	,   __lowerCamelCase	:							int = 0	,   __lowerCamelCase	:							int = -1							):







   '''simple docstring'''




   if hi < 0:
      _UpperCAmelCase       :       int							   =len(__lowerCamelCase							)

   while lo < hi:
      _UpperCAmelCase       :       Dict							   =lo + (hi - lo) // 2
      if sorted_collection[mid] < item:
         _UpperCAmelCase       :       int							   =mid + 1
      else:
         _UpperCAmelCase       :       Union[str, Any]							   =mid

   return lo





def lowerCamelCase__      (						__lowerCamelCase	:							list[int]	,   __lowerCamelCase	:							int	,   __lowerCamelCase	:							int = 0	,   __lowerCamelCase	:							int = -1							):







   '''simple docstring'''




   if hi < 0:
      _UpperCAmelCase       :       str							   =len(__lowerCamelCase							)

   while lo < hi:
      _UpperCAmelCase       :       List[Any]							   =lo + (hi - lo) // 2
      if sorted_collection[mid] <= item:
         _UpperCAmelCase       :       Dict							   =mid + 1
      else:
         _UpperCAmelCase       :       Tuple							   =mid

   return lo





def lowerCamelCase__      (						__lowerCamelCase	:							list[int]	,   __lowerCamelCase	:							int	,   __lowerCamelCase	:							int = 0	,   __lowerCamelCase	:							int = -1							):







   '''simple docstring'''




   sorted_collection.insert(bisect_left(__lowerCamelCase	,   __lowerCamelCase	,   __lowerCamelCase	,   __lowerCamelCase							)	,   __lowerCamelCase							)





def lowerCamelCase__      (						__lowerCamelCase	:							list[int]	,   __lowerCamelCase	:							int	,   __lowerCamelCase	:							int = 0	,   __lowerCamelCase	:							int = -1							):







   '''simple docstring'''




   sorted_collection.insert(bisect_right(__lowerCamelCase	,   __lowerCamelCase	,   __lowerCamelCase	,   __lowerCamelCase							)	,   __lowerCamelCase							)





def lowerCamelCase__      (						__lowerCamelCase	:							list[int]	,   __lowerCamelCase	:							int							):







   '''simple docstring'''




   _UpperCAmelCase       :       Optional[int]							   =0
   _UpperCAmelCase       :       Any							   =len(__lowerCamelCase							) - 1

   while left <= right:
      _UpperCAmelCase       :       int							   =left + (right - left) // 2
      _UpperCAmelCase       :       Union[str, Any]							   =sorted_collection[midpoint]
      if current_item == item:
         return midpoint
      elif item < current_item:
         _UpperCAmelCase       :       Optional[Any]							   =midpoint - 1
      else:
         _UpperCAmelCase       :       int							   =midpoint + 1
   return None





def lowerCamelCase__      (						__lowerCamelCase	:							list[int]	,   __lowerCamelCase	:							int							):







   '''simple docstring'''




   _UpperCAmelCase       :       Any							   =bisect.bisect_left(__lowerCamelCase	,   __lowerCamelCase							)
   if index != len(__lowerCamelCase							) and sorted_collection[index] == item:
      return index
   return None





def lowerCamelCase__      (						__lowerCamelCase	:							list[int]	,   __lowerCamelCase	:							int	,   __lowerCamelCase	:							int	,   __lowerCamelCase	:							int							):







   '''simple docstring'''




   if right < left:
      return None

   _UpperCAmelCase       :       str							   =left + (right - left) // 2

   if sorted_collection[midpoint] == item:
      return midpoint
   elif sorted_collection[midpoint] > item:
      return binary_search_by_recursion(__lowerCamelCase	,   __lowerCamelCase	,   __lowerCamelCase	,   midpoint - 1							)
   else:
      return binary_search_by_recursion(__lowerCamelCase	,   __lowerCamelCase	,   midpoint + 1	,   __lowerCamelCase							)


if __name__ == "__main__":
 lowercase							=input('Enter numbers separated by comma:\n').strip()
 lowercase							=sorted(int(item) for item in user_input.split(','))
 lowercase							=int(input('Enter a single number to be found in the list:\n'))
 lowercase							=binary_search(collection, target)
 if result is None:
  print(F"""{target} was not found in {collection}.""")
 else:
  print(F"""{target} was found at position {result} in {collection}.""")

