


'''simple docstring'''
from ...configuration_utils import PretrainedConfig
from ...utils import logging


UpperCamelCase__    					=      logging.get_logger(__name__)

UpperCamelCase__    					=      {
    '''google/vivit-b-16x2-kinetics400''': (
        '''https://huggingface.co/google/vivit-b-16x2-kinetics400/resolve/main/config.json'''
    ),
    # See all Vivit models at https://huggingface.co/models?filter=vivit
}




class 			lowerCamelCase_   (	__a      ):
      lowerCAmelCase__		     =     'vivit'






      def __init__(					self				:    Optional[Any]						,						_A				:    List[str]=224						,						_A				:    Dict=32						,						_A				:    Union[str, Any]=[2, 16, 16]						,						_A				:    Dict=3						,						_A				:    int=768						,						_A				:    Optional[Any]=12						,						_A				:    Union[str, Any]=12						,						_A				:    int=3_072						,						_A				:    List[str]="gelu_fast"						,						_A				:    Any=0.0						,						_A				:    int=0.0						,						_A				:    List[str]=0.0_2						,						_A				:    List[str]=1e-06						,						_A				:    Tuple=True						,						**_A				:    Any						,						):


          '''simple docstring'''


          UpperCAmelCase__			:		Tuple													=				hidden_size
          UpperCAmelCase__			:		Any													=				num_hidden_layers
          UpperCAmelCase__			:		Union[str, Any]													=				num_attention_heads
          UpperCAmelCase__			:		Optional[Any]													=				intermediate_size
          UpperCAmelCase__			:		Tuple													=				hidden_act
          UpperCAmelCase__			:		int													=				hidden_dropout_prob
          UpperCAmelCase__			:		Optional[Any]													=				attention_probs_dropout_prob
          UpperCAmelCase__			:		int													=				initializer_range
          UpperCAmelCase__			:		str													=				layer_norm_eps

          UpperCAmelCase__			:		Any													=				image_size
          UpperCAmelCase__			:		str													=				num_frames
          UpperCAmelCase__			:		int													=				tubelet_size
          UpperCAmelCase__			:		List[Any]													=				num_channels
          UpperCAmelCase__			:		Dict													=				qkv_bias

          super().__init__(**_A )




'''simple docstring'''
# Algorithm for the pigeonhole sorting







def 					a__       (					lowerCAmelCase__						)    ->	Optional[Any]:
    UpperCAmelCase__			:		Any													=				min(lowerCAmelCase__						)  # min() finds the minimum value
    UpperCAmelCase__			:		Optional[int]													=				max(lowerCAmelCase__						)  # max() finds the maximum value

    UpperCAmelCase__			:		int													=				max_val - min_val + 1  # size is difference of max and min values plus one

    # list of pigeonholes of size equal to the variable size
    UpperCAmelCase__			:		Any													=				[0] * size

    # Populate the pigeonholes.
    for x in a:
        assert isinstance(lowerCAmelCase__  ,					lowerCAmelCase__						), "integers only please"
        holes[x - min_val] += 1

    # Putting the elements back into the array in an order.
    UpperCAmelCase__			:		Optional[int]													=				0
    for count in range(lowerCAmelCase__						):
        while holes[count] > 0:
            holes[count] -= 1
            UpperCAmelCase__			:		Dict													=				count + min_val
            i += 1





def 					a__       (					)    ->	Union[str, Any]:
    UpperCAmelCase__			:		List[str]													=				[8, 3, 2, 7, 4, 6, 8]
    pigeonhole_sort(lowerCAmelCase__						)
    print('''Sorted order is:'''  ,					''' '''.join(lowerCAmelCase__						)						)


if __name__ == "__main__":
  main()
