




'''simple docstring'''

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


a       :						Optional[Any]								=		logging.get_logger(__name__)

a       :						List[str]								=		{}



class 		SCREAMING_SNAKE_CASE__  (			_UpperCamelCase	):
			__SCREAMING_SNAKE_CASE    =			"""llama"""
			__SCREAMING_SNAKE_CASE    =			["""past_key_values"""]





			def __init__(      self						:    Optional[int]      ,		a_						:    str=32_000      ,		a_						:    Any=4_096      ,		a_						:    List[Any]=11_008      ,		a_						:    List[str]=32      ,		a_						:    Any=32      ,		a_						:    str=None      ,		a_						:    str="silu"      ,		a_						:    Optional[int]=2_048      ,		a_						:    Optional[Any]=0.02      ,		a_						:    int=1e-6      ,		a_						:    Any=True      ,		a_						:    List[Any]=0      ,		a_						:    int=1      ,		a_						:    List[Any]=2      ,		a_						:    List[Any]=1      ,		a_						:    Union[str, Any]=False      ,		a_						:    Optional[int]=None      ,		**a_						:    Optional[int]      ,		):



						"""simple docstring"""




						__snake_case			=		vocab_size
						__snake_case			=		max_position_embeddings
						__snake_case			=		hidden_size
						__snake_case			=		intermediate_size
						__snake_case			=		num_hidden_layers
						__snake_case			=		num_attention_heads

						# for backward compatibility
						if num_key_value_heads is None:
									__snake_case			=		num_attention_heads

						__snake_case			=		num_key_value_heads
						__snake_case			=		hidden_act
						__snake_case			=		initializer_range
						__snake_case			=		rms_norm_eps
						__snake_case			=		pretraining_tp
						__snake_case			=		use_cache
						__snake_case			=		rope_scaling
						self._rope_scaling_validation()

						super().__init__(
						    pad_token_id=a_      ,		bos_token_id=a_      ,		eos_token_id=a_      ,		tie_word_embeddings=a_      ,		**a_      ,		)






			def 							A (      self						:    List[str]							):



						"""simple docstring"""




						if self.rope_scaling is None:
									return

						if not isinstance(self.rope_scaling      ,		a_							) or len(self.rope_scaling							) != 2:
									raise ValueError(
									    "`rope_scaling` must be a dictionary with with two fields, `name` and `factor`, "
									    f'''got {self.rope_scaling}'''							)
						__snake_case			=		self.rope_scaling.get("type"      ,		a_							)
						__snake_case			=		self.rope_scaling.get("factor"      ,		a_							)
						if rope_scaling_type is None or rope_scaling_type not in ["linear", "dynamic"]:
									raise ValueError(
									    f'''`rope_scaling`\'s name field must be one of [\'linear\', \'dynamic\'], got {rope_scaling_type}'''							)
						if rope_scaling_factor is None or not isinstance(a_      ,		a_							) or rope_scaling_factor <= 1.0:
									raise ValueError(f'''`rope_scaling`\'s factor field must be an float > 1, got {rope_scaling_factor}'''							)









from __future__ import annotations




def    a__    (		snake_case__					:							list[int]     ):
  if len(snake_case__     ) == 0:
    return array

  _UpperCAmelCase,_UpperCAmelCase		:							List[str]							=     min(snake_case__     ), max(snake_case__     )

  # Compute the variables
  _UpperCAmelCase		:							Tuple							=     _max - _min + 1
  _UpperCAmelCase,_UpperCAmelCase		:							Union[str, Any]							=     [0] * holes_range, [0] * holes_range

  # Make the sorting.
  for i in array:
    _UpperCAmelCase		:							Optional[int]							=     i - _min
    _UpperCAmelCase		:							Any							=     i
    holes_repeat[index] += 1

  # Makes the array back by replacing the numbers.
  _UpperCAmelCase		:							List[Any]							=     0
  for i in range(snake_case__     ):
    while holes_repeat[i] > 0:
      _UpperCAmelCase		:							Optional[Any]							=     holes[i]
      index += 1
      holes_repeat[i] -= 1

    # Returns the sorted array.
  return array


if __name__ == "__main__":
 import doctest

 doctest.testmod()
 SCREAMING_SNAKE_CASE__					:     Dict       =     input('Enter numbers separated by comma:\n')
 SCREAMING_SNAKE_CASE__					:     Optional[int]       =     [int(x) for x in user_input.split(',')]
 print(pigeon_sort(unsorted))





