


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}''')










from collections import OrderedDict
from typing import Mapping

from packaging import version

from ...configuration_utils import PretrainedConfig
from ...onnx import OnnxConfig
from ...utils import logging


__UpperCAmelCase : str 			=				logging.get_logger(__name__)

__UpperCAmelCase : Dict 			=				{
    "hustvl/yolos-small": "https://huggingface.co/hustvl/yolos-small/resolve/main/config.json",
    # See all YOLOS models at https://huggingface.co/models?filter=yolos
}



class    UpperCAmelCase_	(							_a):
       '''simple docstring'''
       __UpperCamelCase      :     Optional[int]							=					"yolos"






       def __init__(     self ,					__SCREAMING_SNAKE_CASE=768 ,					__SCREAMING_SNAKE_CASE=12 ,					__SCREAMING_SNAKE_CASE=12 ,					__SCREAMING_SNAKE_CASE=3_072 ,					__SCREAMING_SNAKE_CASE="gelu" ,					__SCREAMING_SNAKE_CASE=0.0 ,					__SCREAMING_SNAKE_CASE=0.0 ,					__SCREAMING_SNAKE_CASE=0.02 ,					__SCREAMING_SNAKE_CASE=1e-12 ,					__SCREAMING_SNAKE_CASE=[512, 864] ,					__SCREAMING_SNAKE_CASE=16 ,					__SCREAMING_SNAKE_CASE=3 ,					__SCREAMING_SNAKE_CASE=True ,					__SCREAMING_SNAKE_CASE=100 ,					__SCREAMING_SNAKE_CASE=True ,					__SCREAMING_SNAKE_CASE=False ,					__SCREAMING_SNAKE_CASE=1 ,					__SCREAMING_SNAKE_CASE=5 ,					__SCREAMING_SNAKE_CASE=2 ,					__SCREAMING_SNAKE_CASE=5 ,					__SCREAMING_SNAKE_CASE=2 ,					__SCREAMING_SNAKE_CASE=0.1 ,					**__SCREAMING_SNAKE_CASE ,					):




              """simple docstring"""




              super().__init__(**__SCREAMING_SNAKE_CASE						)

              UpperCamelCase    :	Tuple   	=		hidden_size
              UpperCamelCase    :	List[Any]   	=		num_hidden_layers
              UpperCamelCase    :	int   	=		num_attention_heads
              UpperCamelCase    :	Dict   	=		intermediate_size
              UpperCamelCase    :	Dict   	=		hidden_act
              UpperCamelCase    :	int   	=		hidden_dropout_prob
              UpperCamelCase    :	Any   	=		attention_probs_dropout_prob
              UpperCamelCase    :	Optional[Any]   	=		initializer_range
              UpperCamelCase    :	List[Any]   	=		layer_norm_eps
              UpperCamelCase    :	int   	=		image_size
              UpperCamelCase    :	Any   	=		patch_size
              UpperCamelCase    :	str   	=		num_channels
              UpperCamelCase    :	str   	=		qkv_bias
              UpperCamelCase    :	Tuple   	=		num_detection_tokens
              UpperCamelCase    :	List[Any]   	=		use_mid_position_embeddings
              UpperCamelCase    :	Dict   	=		auxiliary_loss
              # Hungarian matcher
              UpperCamelCase    :	Optional[Any]   	=		class_cost
              UpperCamelCase    :	Union[str, Any]   	=		bbox_cost
              UpperCamelCase    :	Any   	=		giou_cost
              # Loss coefficients
              UpperCamelCase    :	List[Any]   	=		bbox_loss_coefficient
              UpperCamelCase    :	Union[str, Any]   	=		giou_loss_coefficient
              UpperCamelCase    :	Dict   	=		eos_coefficient




class    UpperCAmelCase_	(							_a):
       '''simple docstring'''
       __UpperCamelCase      :     List[str]							=					version.parse("1.11")






       @property
       def  _lowercase   (     self						):




              """simple docstring"""




              return OrderedDict(
                  [
                      ('''pixel_values''', {0: '''batch''', 1: '''num_channels''', 2: '''height''', 3: '''width'''}),
                  ]						)






       @property
       def  _lowercase   (     self						):




              """simple docstring"""




              return 1e-4






       @property
       def  _lowercase   (     self						):




              """simple docstring"""




              return 12

