




'''simple docstring'''





from typing import Callable, Optional, Union

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


UpperCamelCase_		:     int          =		logging.get_logger(__name__)

UpperCamelCase_		:     Union[str, Any]          =		{
    """microsoft/xprophetnet-large-wiki100-cased""": (
        """https://huggingface.co/microsoft/xprophetnet-large-wiki100-cased/resolve/main/config.json"""
    ),
}

class   _a							(		SCREAMING_SNAKE_CASE_				):
     SCREAMING_SNAKE_CASE_				:       Tuple       							=		'xlm-prophetnet'
     SCREAMING_SNAKE_CASE_				:       int       							=		['past_key_values']
     SCREAMING_SNAKE_CASE_				:       List[Any]       							=		{
         'num_attention_heads': 'num_encoder_attention_heads',
     }






     def __init__(					self   ,_SCREAMING_SNAKE_CASE = 0.1   ,_SCREAMING_SNAKE_CASE = "gelu"   ,_SCREAMING_SNAKE_CASE = 30_522   ,_SCREAMING_SNAKE_CASE = 1_024   ,_SCREAMING_SNAKE_CASE = 4_096   ,_SCREAMING_SNAKE_CASE = 12   ,_SCREAMING_SNAKE_CASE = 16   ,_SCREAMING_SNAKE_CASE = 4_096   ,_SCREAMING_SNAKE_CASE = 12   ,_SCREAMING_SNAKE_CASE = 16   ,_SCREAMING_SNAKE_CASE = 0.1   ,_SCREAMING_SNAKE_CASE = 0.1   ,_SCREAMING_SNAKE_CASE = 512   ,_SCREAMING_SNAKE_CASE = 0.0_2   ,_SCREAMING_SNAKE_CASE = True   ,_SCREAMING_SNAKE_CASE = True   ,_SCREAMING_SNAKE_CASE = 0   ,_SCREAMING_SNAKE_CASE = 2   ,_SCREAMING_SNAKE_CASE = 32   ,_SCREAMING_SNAKE_CASE = 128   ,_SCREAMING_SNAKE_CASE = False   ,_SCREAMING_SNAKE_CASE = 0.0   ,_SCREAMING_SNAKE_CASE = True   ,_SCREAMING_SNAKE_CASE = 0   ,_SCREAMING_SNAKE_CASE = 1   ,_SCREAMING_SNAKE_CASE = 2   ,**_SCREAMING_SNAKE_CASE   ,)				->     Dict:
          _snake_case				= vocab_size
          _snake_case				= hidden_size
          _snake_case				= encoder_ffn_dim
          _snake_case				= num_encoder_layers
          _snake_case				= num_encoder_attention_heads
          _snake_case				= decoder_ffn_dim
          _snake_case				= num_decoder_layers
          _snake_case				= num_decoder_attention_heads
          _snake_case				= max_position_embeddings
          _snake_case				= init_std  # Normal(0, this parameter)
          _snake_case				= activation_function

          # parameters for xlmprophetnet
          _snake_case				= ngram
          _snake_case				= num_buckets
          _snake_case				= relative_max_distance
          _snake_case				= disable_ngram_loss
          _snake_case				= eps

          # 3 Types of Dropout
          _snake_case				= attention_dropout
          _snake_case				= activation_dropout
          _snake_case				= dropout

          _snake_case				= use_cache

          super().__init__(
              pad_token_id=_SCREAMING_SNAKE_CASE   ,bos_token_id=_SCREAMING_SNAKE_CASE   ,eos_token_id=_SCREAMING_SNAKE_CASE   ,is_encoder_decoder=_SCREAMING_SNAKE_CASE   ,add_cross_attention=_SCREAMING_SNAKE_CASE   ,decoder_start_token_id=_SCREAMING_SNAKE_CASE   ,**_SCREAMING_SNAKE_CASE   ,)






     @property
     def 							_lowercase      (					self       )				->     str:
          return self.num_encoder_layers + self.num_decoder_layers






     @num_hidden_layers.setter
     def 							_lowercase      (					self   ,_SCREAMING_SNAKE_CASE       )				->     str:
          raise NotImplementedError(
              "This model does not support the setting of `num_hidden_layers`. Please set `num_encoder_layers` and"
              " `num_decoder_layers`."       )







def        __a			(   __lowerCAmelCase   )     ->     List[str]:
					stooge(__lowerCAmelCase      ,	0      ,	len(__lowerCAmelCase   ) - 1   )
					return arr

def        __a			(   __lowerCAmelCase      ,	__lowerCAmelCase      ,	__lowerCAmelCase   )     ->     int:
					if i >= h:
										return

					# If first element is smaller than the last then swap them
					if arr[i] > arr[h]:
										SCREAMING_SNAKE_CASE					,  SCREAMING_SNAKE_CASE							:     Any						=				arr[h], arr[i]

					# If there are more than 2 elements in the array
					if h - i + 1 > 2:
										SCREAMING_SNAKE_CASE							:     Union[str, Any]						=				(int)((h - i + 1) / 3   )

										# Recursively sort first 2/3 elements
										stooge(__lowerCAmelCase      ,	__lowerCAmelCase      ,	(h - t)   )

										# Recursively sort last 2/3 elements
										stooge(__lowerCAmelCase      ,	i + t      ,	(__lowerCAmelCase)   )

										# Recursively sort first 2/3 elements
										stooge(__lowerCAmelCase      ,	__lowerCAmelCase      ,	(h - t)   )


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