





"""simple docstring"""




from ...configuration_utils import PretrainedConfig
from ...utils import logging


lowerCamelCase_	:		Union[str, Any]         =   logging.get_logger(__name__)

lowerCamelCase_	:		List[Any]         =   {
    'MCG-NJU/videomae-base': 'https://huggingface.co/MCG-NJU/videomae-base/resolve/main/config.json',
}

class 					_UpperCAmelCase    (  UpperCAmelCase__						):



      '''simple docstring'''
      lowercase_ :					Any             =  """videomae"""

      def __init__(	self   , snake_case_=2_2_4   , snake_case_=1_6   , snake_case_=3   , snake_case_=1_6   , snake_case_=2   , snake_case_=7_6_8   , snake_case_=1_2   , snake_case_=1_2   , snake_case_=3_0_7_2   , snake_case_="gelu"   , snake_case_=0.0   , snake_case_=0.0   , snake_case_=0.02   , snake_case_=1E-12   , snake_case_=True   , snake_case_=True   , snake_case_=6   , snake_case_=3_8_4   , snake_case_=4   , snake_case_=1_5_3_6   , snake_case_=True   , **snake_case_   , ):

        """simple docstring"""

        super().__init__(**snake_case_    )

        A_    :			Union[str, Any]									=    image_size
        A_    :			Optional[int]									=    patch_size
        A_    :			Any									=    num_channels
        A_    :			List[str]									=    num_frames
        A_    :			Tuple									=    tubelet_size

        A_    :			List[Any]									=    hidden_size
        A_    :			Union[str, Any]									=    num_hidden_layers
        A_    :			int									=    num_attention_heads
        A_    :			List[str]									=    intermediate_size
        A_    :			List[str]									=    hidden_act
        A_    :			Tuple									=    hidden_dropout_prob
        A_    :			Union[str, Any]									=    attention_probs_dropout_prob
        A_    :			Union[str, Any]									=    initializer_range
        A_    :			List[str]									=    layer_norm_eps
        A_    :			Tuple									=    qkv_bias
        A_    :			List[str]									=    use_mean_pooling

        A_    :			Any									=    decoder_num_attention_heads
        A_    :			Dict									=    decoder_hidden_size
        A_    :			str									=    decoder_num_hidden_layers
        A_    :			int									=    decoder_intermediate_size
        A_    :			int									=    norm_pix_loss





'''simple docstring'''






def 		a_(			lowerCamelCase ,					lowerCamelCase   )					->int:






       '''simple docstring'''




       if len(lowerCamelCase   ) < len(lowerCamelCase   ):
              return levenshtein_distance(lowerCamelCase ,					lowerCamelCase   )

       if len(lowerCamelCase   ) == 0:
              return len(lowerCamelCase   )

       lowercase	:		List[Any]    =   list(range(len(lowerCamelCase   ) + 1   )   )

       for i, ca in enumerate(lowerCamelCase   ):
              lowercase	:		Any    =   [i + 1]

              for j, ca in enumerate(lowerCamelCase   ):
                     # Calculate insertions, deletions and substitutions
                     lowercase	:		List[Any]    =   previous_row[j + 1] + 1
                     lowercase	:		str    =   current_row[j] + 1
                     lowercase	:		List[Any]    =   previous_row[j] + (ca != ca)

                     # Get the minimum to append to the current row
                     current_row.append(min(lowerCamelCase ,					lowerCamelCase ,					lowerCamelCase   )   )

              # Store the previous row
              lowercase	:		List[str]    =   current_row

       # Returns the last element (distance)
       return previous_row[-1]


if __name__ == "__main__":
      lowercase						:   Dict      						=							input('''Enter the first word:\n''').strip()
      lowercase						:   Tuple      						=							input('''Enter the second word:\n''').strip()

      lowercase						:   Tuple      						=							levenshtein_distance(first_word, second_word)
      print(f'Levenshtein distance between {first_word} and {second_word} is {result}')




