


def 				UpperCAmelCase_					(							__snake_case     ,						__snake_case						)     ->			bool:







 """simple docstring"""


 _lowercase							      =len(__snake_case						) + 1
 _lowercase							      =len(__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.
 _lowercase							      =[[0 for i in range(__snake_case						)] for j in range(__snake_case						)]

 # since string of zero length match pattern of zero length
 _lowercase							      =1

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

 # since string of zero length will match with pattern where there
 # is at least one * alternatively
 for j in range(1     ,						__snake_case						):
  _lowercase							      =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     ,						__snake_case						):
  for j in range(1     ,						__snake_case						):
   if input_string[i - 1] == pattern[j - 1] or pattern[j - 1] == ".":
    _lowercase							      =dp[i - 1][j - 1]

   elif pattern[j - 1] == "*":
    if dp[i][j - 2] == 1:
     _lowercase							      =1
    elif pattern[j - 2] in (input_string[i - 1], "."):
     _lowercase							      =dp[i - 1][j]
    else:
     _lowercase							      =0
   else:
    _lowercase							      =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__   	=							'''aab'''
  UpperCAmelCase__   	=							'''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}''')





# flake8: noqa
# Lint as: python3
UpperCAmelCase__   	=							[
    '''VerificationMode''',
    '''Version''',
    '''disable_progress_bar''',
    '''enable_progress_bar''',
    '''is_progress_bar_enabled''',
    '''experimental''',
]

from .info_utils import VerificationMode
from .logging import disable_progress_bar, enable_progress_bar, is_progress_bar_enabled
from .version import Version
from .experimental import experimental

