


def      a	(							SCREAMING_SNAKE_CASE_      :		str							,			SCREAMING_SNAKE_CASE_      :		str       ):






       """simple docstring"""





       UpperCamelCase    :	str   	=		len(SCREAMING_SNAKE_CASE_       ) + 1
       UpperCamelCase    :	Tuple   	=		len(SCREAMING_SNAKE_CASE_       ) + 1

       # dp is a 2d matrix where dp[i][j] denotes whether prefix string of
       # length i of input_string matches with prefix string of length j of
       # given pattern.
       # "dp" stands for dynamic programming.
       UpperCamelCase    :	str   	=		[[0 for i in range(SCREAMING_SNAKE_CASE_       )] for j in range(SCREAMING_SNAKE_CASE_       )]

       # since string of zero length match pattern of zero length
       UpperCamelCase    :	Optional[Any]   	=		1

       # since pattern of zero length will never match with string of non-zero length
       for i in range(1							,			SCREAMING_SNAKE_CASE_       ):
              UpperCamelCase    :	Any   	=		0

       # since string of zero length will match with pattern where there
       # is at least one * alternatively
       for j in range(1							,			SCREAMING_SNAKE_CASE_       ):
              UpperCamelCase    :	str   	=		dp[0][j - 2] if pattern[j - 1] == '''*''' else 0

       # now using bottom-up approach to find for all remaining lengths
       for i in range(1							,			SCREAMING_SNAKE_CASE_       ):
              for j in range(1							,			SCREAMING_SNAKE_CASE_       ):
                     if input_string[i - 1] == pattern[j - 1] or pattern[j - 1] == ".":
                            UpperCamelCase    :	int   	=		dp[i - 1][j - 1]

                     elif pattern[j - 1] == "*":
                            if dp[i][j - 2] == 1:
                                   UpperCamelCase    :	Union[str, Any]   	=		1
                            elif pattern[j - 2] in (input_string[i - 1], "."):
                                   UpperCamelCase    :	Tuple   	=		dp[i - 1][j]
                            else:
                                   UpperCamelCase    :	Any   	=		0
                     else:
                            UpperCamelCase    :	Optional[Any]   	=		0

       return bool(dp[-1][-1]       )


if __name__ == "__main__":
  import doctest

  doctest.testmod()
  # inputing the strings
  # input_string = input("input a string :")
  # pattern = input("input a pattern :")

  __UpperCAmelCase : Tuple 			=				"aab"
  __UpperCAmelCase : Any 			=				"c*a*b"

  # using function to check whether given string matches the given pattern
  if match_pattern(input_string, pattern):
    print(f'''{input_string} matches the given pattern {pattern}''')
  else:
    print(f'''{input_string} does not match with the given pattern {pattern}''')





import requests
from bsa import BeautifulSoup


def      a	(							SCREAMING_SNAKE_CASE_      :		str = "AAPL"       ):






       """simple docstring"""





       UpperCamelCase    :	Dict   	=		F"""https://in.finance.yahoo.com/quote/{symbol}?s={symbol}"""
       UpperCamelCase    :	Any   	=		BeautifulSoup(requests.get(SCREAMING_SNAKE_CASE_       ).text							,			'''html.parser'''       )
       UpperCamelCase    :	Dict   	=		'''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}''')

