


'''simple docstring'''



def 			_a			(		_lowercase      :			str    ,      _lowercase      :			str						)     ->   Optional[int]:





     '''simple docstring'''






     __UpperCAmelCase			:				str													=    len(_lowercase						) + 1
     __UpperCAmelCase			:				Any													=    len(_lowercase						) + 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			:				Union[str, Any]													=    [[0 for i in range(_lowercase						)] for j in range(_lowercase						)]

     # since string of zero length match pattern of zero length
     __UpperCAmelCase			:				List[Any]													=    1

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

     # since string of zero length will match with pattern where there
     # is at least one * alternatively
     for j in range(1    ,      _lowercase						):
          __UpperCAmelCase			:				Union[str, Any]													=    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    ,      _lowercase						):
          for j in range(1    ,      _lowercase						):
               if input_string[i - 1] == pattern[j - 1] or pattern[j - 1] == ".":
                    __UpperCAmelCase			:				List[str]													=    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			:				List[Any]													=    0
               else:
                    __UpperCAmelCase			:				List[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    :List[str]				       =     "aab"
      __UpperCAmelCase    :int				       =     "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'''



def 			_a			(		_lowercase      :			List[str]						):





     '''simple docstring'''






     __UpperCAmelCase			:				int													=    len(_lowercase						)
     while cur > 1:
          # Find the maximum number in arr
          __UpperCAmelCase			:				Union[str, Any]													=    arr.index(max(arr[0:cur]						)						)
          # Reverse from 0 to mi
          __UpperCAmelCase			:				Any													=    arr[mi::-1] + arr[mi + 1 : len(_lowercase						)]
          # Reverse whole list
          __UpperCAmelCase			:				List[str]													=    arr[cur - 1 :: -1] + arr[cur : len(_lowercase						)]
          cur -= 1
     return arr


if __name__ == "__main__":
      __UpperCAmelCase    :Any				       =     input("Enter numbers separated by a comma:\n").strip()
      __UpperCAmelCase    :Optional[int]				       =     [int(item) for item in user_input.split(",")]
      print(pancake_sort(unsorted))