"""simple docstring"""







import functools
import operator

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


UpperCamelCase_    :    Dict											=						logging.get_logger(__name__)

UpperCamelCase_    :    int											=						{
    """facebook/hubert-base-ls960""": """https://huggingface.co/facebook/hubert-base-ls960/resolve/main/config.json""",
    # See all Hubert models at https://huggingface.co/models?filter=hubert
}


class      _lowercase						(				__lowerCamelCase					):
				lowerCamelCase__									=    'hubert'

				def __init__(       self    :      Union[str, Any]    ,      _lowercase    :      List[str]=3_2    ,      _lowercase    :      Any=7_6_8    ,      _lowercase    :      Optional[int]=1_2    ,      _lowercase    :      str=1_2    ,      _lowercase    :      Optional[int]=3_0_7_2    ,      _lowercase    :      Tuple="gelu"    ,      _lowercase    :      Tuple=0.1    ,      _lowercase    :      List[str]=0.1    ,      _lowercase    :      Tuple=0.1    ,      _lowercase    :      List[Any]=True    ,      _lowercase    :      Tuple=0.0    ,      _lowercase    :      str=0.1    ,      _lowercase    :      Dict=0.1    ,      _lowercase    :      List[Any]=0.02    ,      _lowercase    :      Optional[Any]=1e-5    ,      _lowercase    :      Any="group"    ,      _lowercase    :      List[str]="gelu"    ,      _lowercase    :      Optional[int]=(5_1_2, 5_1_2, 5_1_2, 5_1_2, 5_1_2, 5_1_2, 5_1_2)    ,      _lowercase    :      int=(5, 2, 2, 2, 2, 2, 2)    ,      _lowercase    :      Union[str, Any]=(1_0, 3, 3, 3, 3, 2, 2)    ,      _lowercase    :      List[str]=False    ,      _lowercase    :      Dict=1_2_8    ,      _lowercase    :      List[Any]=1_6    ,      _lowercase    :      Union[str, Any]=False    ,      _lowercase    :      Optional[int]=True    ,      _lowercase    :      Union[str, Any]=0.05    ,      _lowercase    :      Tuple=1_0    ,      _lowercase    :      str=2    ,      _lowercase    :      Dict=0.0    ,      _lowercase    :      Optional[int]=1_0    ,      _lowercase    :      Dict=0    ,      _lowercase    :      List[str]="sum"    ,      _lowercase    :      Any=False    ,      _lowercase    :      List[str]=False    ,      _lowercase    :      List[str]=2_5_6    ,      _lowercase    :      Union[str, Any]=0    ,      _lowercase    :      Union[str, Any]=1    ,      _lowercase    :      Any=2    ,      **_lowercase    :      Any    ,      ):


										'''simple docstring'''
										super().__init__(**_lowercase    ,      pad_token_id=_lowercase    ,      bos_token_id=_lowercase    ,      eos_token_id=_lowercase       )
										UpperCAmelCase__   		=						hidden_size
										UpperCAmelCase__   		=						feat_extract_norm
										UpperCAmelCase__   		=						feat_extract_activation
										UpperCAmelCase__   		=						list(_lowercase       )
										UpperCAmelCase__   		=						list(_lowercase       )
										UpperCAmelCase__   		=						list(_lowercase       )
										UpperCAmelCase__   		=						conv_bias
										UpperCAmelCase__   		=						num_conv_pos_embeddings
										UpperCAmelCase__   		=						num_conv_pos_embedding_groups
										UpperCAmelCase__   		=						len(self.conv_dim       )
										UpperCAmelCase__   		=						num_hidden_layers
										UpperCAmelCase__   		=						intermediate_size
										UpperCAmelCase__   		=						hidden_act
										UpperCAmelCase__   		=						num_attention_heads
										UpperCAmelCase__   		=						hidden_dropout
										UpperCAmelCase__   		=						attention_dropout
										UpperCAmelCase__   		=						activation_dropout
										UpperCAmelCase__   		=						feat_proj_layer_norm
										UpperCAmelCase__   		=						feat_proj_dropout
										UpperCAmelCase__   		=						final_dropout
										UpperCAmelCase__   		=						layerdrop
										UpperCAmelCase__   		=						layer_norm_eps
										UpperCAmelCase__   		=						initializer_range
										UpperCAmelCase__   		=						vocab_size
										UpperCAmelCase__   		=						do_stable_layer_norm
										UpperCAmelCase__   		=						use_weighted_layer_sum
										UpperCAmelCase__   		=						classifier_proj_size

										if (
										    (len(self.conv_stride       ) != self.num_feat_extract_layers)
										    or (len(self.conv_kernel       ) != self.num_feat_extract_layers)
										    or (len(self.conv_dim       ) != self.num_feat_extract_layers)
										):
																raise ValueError(
																    """Configuration for convolutional layers is incorrect. It is required that `len(config.conv_dim)` =="""
																    """ `len(config.conv_stride)` == `len(config.conv_kernel)`, but is `len(config.conv_dim) ="""
																    f' {len(self.conv_dim       )}`, `len(config.conv_stride) = {len(self.conv_stride       )}`,'
																    f' `len(config.conv_kernel) = {len(self.conv_kernel       )}`.'       )

										# fine-tuning config parameters for SpecAugment: https://arxiv.org/abs/1904.08779
										UpperCAmelCase__   		=						apply_spec_augment
										UpperCAmelCase__   		=						mask_time_prob
										UpperCAmelCase__   		=						mask_time_length
										UpperCAmelCase__   		=						mask_time_min_masks
										UpperCAmelCase__   		=						mask_feature_prob
										UpperCAmelCase__   		=						mask_feature_length
										UpperCAmelCase__   		=						mask_feature_min_masks

										# ctc loss
										UpperCAmelCase__   		=						ctc_loss_reduction
										UpperCAmelCase__   		=						ctc_zero_infinity

				@property
				def     A	(       self    :      List[Any]       ):


										'''simple docstring'''
										return functools.reduce(operator.mul    ,      self.conv_stride    ,      1       )


"""simple docstring"""







def 					a__ (						UpperCAmelCase__    :     List[Any]     )->		Dict:
						UpperCAmelCase__   		=						[7_0_1, 3_0_1, 1_3_2, 5_7, 2_3, 1_0, 4, 1]
						for gap in gaps:
												for i in range(UpperCAmelCase__						,     len(UpperCAmelCase__     )     ):
																		UpperCAmelCase__   		=						collection[i]
																		UpperCAmelCase__   		=						i
																		while j >= gap and collection[j - gap] > insert_value:
																								UpperCAmelCase__   		=						collection[j - gap]
																								j -= gap
																		if j != i:
																								UpperCAmelCase__   		=						insert_value
						return collection


if __name__ == "__main__":
						from doctest import testmod

						testmod()
						UpperCamelCase_    :    Union[str, Any]											=						input("""Enter numbers separated by a comma:\n""").strip()
						UpperCamelCase_    :    int											=						[int(item) for item in user_input.split(""",""")]
						print(shell_sort(unsorted))

