





from __future__ import annotations

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

_UpperCAmelCase       =				TypeVar('T')






class   snake_case_							(						Generic[T]		):






  def __init__(				self					:	Tuple  ,    _snake_case					:	T     )->Optional[Any]:






   '''simple docstring'''

   __lowerCAmelCase	:			str         =  data
   __lowerCAmelCase	:			Dict         =  None






  def __str__(				self					:	Optional[Any]     )->str:






   '''simple docstring'''

   return F'''{self.data}'''






class   snake_case_							(						Generic[T]		):






  def __init__(				self					:	Any     )->None:






   '''simple docstring'''

   __lowerCAmelCase	:			int         =  None






  def __iter__(				self					:	int     )->Iterator[T]:






   '''simple docstring'''

   __lowerCAmelCase	:			Any         =  self.top
   while node:
    yield node.data
    __lowerCAmelCase	:			str         =  node.next






  def __str__(				self					:	Any     )->str:






   '''simple docstring'''

   return "->".join([str(__lowerCAmelCase     ) for item in self]     )






  def __len__(				self					:	List[str]     )->int:






   '''simple docstring'''

   return len(tuple(iter(self     )     )     )






  def  UpperCAmelCase__		(				self					:	Optional[Any]     )->bool:






   '''simple docstring'''

   return self.top is None






  def  UpperCAmelCase__		(				self					:	int  ,    _snake_case					:	T     )->None:






   '''simple docstring'''

   __lowerCAmelCase	:			int         =  Node(__lowerCAmelCase     )
   if not self.is_empty():
    __lowerCAmelCase	:			Any         =  self.top
   __lowerCAmelCase	:			Dict         =  node






  def  UpperCAmelCase__		(				self					:	List[Any]     )->T:






   '''simple docstring'''

   if self.is_empty():
    raise IndexError("""pop from empty stack"""     )
   assert isinstance(self.top  ,    __lowerCAmelCase     )
   __lowerCAmelCase	:			List[Any]         =  self.top
   __lowerCAmelCase	:			int         =  self.top.next
   return pop_node.data






  def  UpperCAmelCase__		(				self					:	Optional[int]     )->T:






   '''simple docstring'''

   if self.is_empty():
    raise IndexError("""peek from empty stack"""     )

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






  def  UpperCAmelCase__		(				self					:	Tuple     )->None:






   '''simple docstring'''

   __lowerCAmelCase	:			str         =  None


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

      testmod()




import requests
from bsa import BeautifulSoup

def 	SCREAMING_SNAKE_CASE_							(	_snake_case	:str = "AAPL"				)  ->     str:
   _A      =       F'''https://in.finance.yahoo.com/quote/{symbol}?s={symbol}'''
   _A      =       BeautifulSoup(requests.get(_snake_case				).text	,   '''html.parser'''				)
   _A      =       '''My(6px) Pos(r) smartphone_Mt(6px)'''
   return soup.find('''div'''	,   class_=class_				).find('''span'''				).text


if __name__ == "__main__":
   for symbol in "AAPL AMZN IBM GOOG MSFT ORCL".split():
      print(f'Current {symbol:<4} stock price is {stock_price(symbol):>8}')



