"""simple docstring"""


def 					__a   (		A    ,				A      ):






     '''simple docstring'''



     lowercase__				 =							len(A      ) + 1
     lowercase__				 =							len(A      ) + 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(A      )] for j in range(A      )]

     # 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    ,				A      ):
          lowercase__				 =							0

     # since string of zero length will match with pattern where there
     # is at least one * alternatively
     for j in range(1    ,				A      ):
          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    ,				A      ):
          for j in range(1    ,				A      ):
               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 :")

 lowerCAmelCase_:					List[str]     =					"aab"
 lowerCAmelCase_:					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}')





"""simple docstring"""


from __future__ import annotations







def 					__a   (		A    ,				A      ):






     '''simple docstring'''



     if partitions <= 0:
          raise ValueError("partitions must be a positive number!"      )
     if partitions > number_of_bytes:
          raise ValueError("partitions can not > number_of_bytes!"      )
     lowercase__				 =							number_of_bytes // partitions
     lowercase__				 =							[]
     for i in range(A      ):
          lowercase__				 =							i * bytes_per_partition + 1
          lowercase__				 =							(
              number_of_bytes if i == partitions - 1 else (i + 1) * bytes_per_partition
          )
          allocation_list.append(f'''{start_bytes}-{end_bytes}'''      )
     return allocation_list


if __name__ == "__main__":
 import doctest

 doctest.testmod()




