
"""simple docstring"""



from __future__ import annotations

import bisect
def    _UpperCAmelCase (					__lowerCamelCase  :			List[Any]					,   __lowerCamelCase  :			List[Any]					,   __lowerCamelCase  :			List[Any] = 0					,   __lowerCamelCase  :			int = -1						)	->   Dict:
  if hi < 0:
    _snake_case   	=			len(__UpperCAmelCase						)

  while lo < hi:
    _snake_case   	=			lo + (hi - lo) // 2
    if sorted_collection[mid] < item:
      _snake_case   	=			mid + 1
    else:
      _snake_case   	=			mid

  return lo
def    _UpperCAmelCase (					__lowerCamelCase  :			List[str]					,   __lowerCamelCase  :			Tuple					,   __lowerCamelCase  :			str = 0					,   __lowerCamelCase  :			List[str] = -1						)	->   Tuple:
  if hi < 0:
    _snake_case   	=			len(__UpperCAmelCase						)

  while lo < hi:
    _snake_case   	=			lo + (hi - lo) // 2
    if sorted_collection[mid] <= item:
      _snake_case   	=			mid + 1
    else:
      _snake_case   	=			mid

  return lo
def    _UpperCAmelCase (					__lowerCamelCase  :			Optional[Any]					,   __lowerCamelCase  :			Dict					,   __lowerCamelCase  :			Dict = 0					,   __lowerCamelCase  :			Dict = -1						)	->   Dict:
  sorted_collection.insert(bisect_left(__UpperCAmelCase					,   __UpperCAmelCase					,   __UpperCAmelCase					,   __UpperCAmelCase						)					,   __UpperCAmelCase						)
def    _UpperCAmelCase (					__lowerCamelCase  :			str					,   __lowerCamelCase  :			List[str]					,   __lowerCamelCase  :			Union[str, Any] = 0					,   __lowerCamelCase  :			str = -1						)	->   Dict:
  sorted_collection.insert(bisect_right(__UpperCAmelCase					,   __UpperCAmelCase					,   __UpperCAmelCase					,   __UpperCAmelCase						)					,   __UpperCAmelCase						)
def    _UpperCAmelCase (					__lowerCamelCase  :			int					,   __lowerCamelCase  :			List[str]						)	->   Optional[int]:
  _snake_case   	=			0
  _snake_case   	=			len(__UpperCAmelCase						) - 1

  while left <= right:
    _snake_case   	=			left + (right - left) // 2
    _snake_case   	=			sorted_collection[midpoint]
    if current_item == item:
      return midpoint
    elif item < current_item:
      _snake_case   	=			midpoint - 1
    else:
      _snake_case   	=			midpoint + 1
  return None
def    _UpperCAmelCase (					__lowerCamelCase  :			Union[str, Any]					,   __lowerCamelCase  :			int						)	->   Any:
  _snake_case   	=			bisect.bisect_left(__UpperCAmelCase					,   __UpperCAmelCase						)
  if index != len(__UpperCAmelCase						) and sorted_collection[index] == item:
    return index
  return None
def    _UpperCAmelCase (					__lowerCamelCase  :			str					,   __lowerCamelCase  :			Union[str, Any]					,   __lowerCamelCase  :			Optional[int]					,   __lowerCamelCase  :			Optional[int]						)	->   List[Any]:
  if right < left:
    return None

  _snake_case   	=			left + (right - left) // 2

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


if __name__ == "__main__":
 UpperCAmelCase__        =					input('Enter numbers separated by comma:\n').strip()
 UpperCAmelCase__        =					sorted(int(item) for item in user_input.split(','))
 UpperCAmelCase__        =					int(input('Enter a single number to be found in the list:\n'))
 UpperCAmelCase__        =					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}.")








import requests
from bsa import BeautifulSoup






def     __a					(		__UpperCAmelCase							,  __UpperCAmelCase       ):
 a__												= BeautifulSoup(requests.get(__UpperCAmelCase							,  params=__UpperCAmelCase       ).content							,  '''html.parser'''       )
 a__												= soup.find('''div'''							,  attrs={'''class''': '''gs_ri'''}       )
 a__												= div.find('''div'''							,  attrs={'''class''': '''gs_fl'''}       ).find_all('''a'''       )
 return anchors[2].get_text()


if __name__ == "__main__":
     a_      :      Optional[Any]    =     {
         'title': (
             'Precisely geometry controlled microsupercapacitors for ultrahigh areal '
             'capacitance, volumetric capacitance, and energy density'
         ),
         'journal': 'Chem. Mater.',
         'volume': 30,
         'pages': '3979-3990',
         'year': 20_18,
         'hl': 'en',
     }
     print(get_citation('https://scholar.google.com/scholar_lookup', params=params))





