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


__lowerCAmelCase     :	Tuple       			=  logging.get_logger(__name__)

__lowerCAmelCase     :	str       			=  {
    'EleutherAI/gpt-neox-20b': 'https://huggingface.co/EleutherAI/gpt-neox-20b/resolve/main/config.json',
    # See all GPTNeoX models at https://huggingface.co/models?filter=gpt_neox
}




class 			UpperCAmelCase_     (					_A	):


  '''simple docstring'''







  a__       			=						"""gpt_neox"""
  def __init__(					self     :					List[str]     ,				UpperCamelCase__     :					Union[str, Any]=5_0432     ,				UpperCamelCase__     :					Dict=6144     ,				UpperCamelCase__     :					str=44     ,				UpperCamelCase__     :					Any=64     ,				UpperCamelCase__     :					List[Any]=2_4576     ,				UpperCamelCase__     :					str="gelu"     ,				UpperCamelCase__     :					Union[str, Any]=0.25     ,				UpperCamelCase__     :					int=1_0000     ,				UpperCamelCase__     :					Optional[int]=0.0     ,				UpperCamelCase__     :					str=0.0     ,				UpperCamelCase__     :					str=0.1     ,				UpperCamelCase__     :					Union[str, Any]=2048     ,				UpperCamelCase__     :					Optional[Any]=0.02     ,				UpperCamelCase__     :					Optional[int]=1E-5     ,				UpperCamelCase__     :					Optional[Any]=True     ,				UpperCamelCase__     :					str=0     ,				UpperCamelCase__     :					Any=2     ,				UpperCamelCase__     :					Union[str, Any]=False     ,				UpperCamelCase__     :					List[Any]=True     ,				UpperCamelCase__     :					Union[str, Any]=None     ,				**UpperCamelCase__     :					List[Any]     ,				)     ->      Dict:







    """simple docstring"""






    super().__init__(bos_token_id=UpperCamelCase__     ,				eos_token_id=UpperCamelCase__     ,				**UpperCamelCase__       )
    __magic_name__								=			vocab_size
    __magic_name__								=			max_position_embeddings
    __magic_name__								=			hidden_size
    __magic_name__								=			num_hidden_layers
    __magic_name__								=			num_attention_heads
    __magic_name__								=			intermediate_size
    __magic_name__								=			hidden_act
    __magic_name__								=			rotary_pct
    __magic_name__								=			rotary_emb_base
    __magic_name__								=			attention_dropout
    __magic_name__								=			hidden_dropout
    __magic_name__								=			classifier_dropout
    __magic_name__								=			initializer_range
    __magic_name__								=			layer_norm_eps
    __magic_name__								=			use_cache
    __magic_name__								=			tie_word_embeddings
    __magic_name__								=			use_parallel_residual
    __magic_name__								=			rope_scaling
    self._rope_scaling_validation()

    if self.hidden_size % self.num_attention_heads != 0:
      raise ValueError(
          """The hidden size is not divisble by the number of attention heads! Make sure to update them!"""       )





  def 				_lowercase				(					self     :					Tuple       )     ->      Optional[int]:







    """simple docstring"""






    if self.rope_scaling is None:
      return

    if not isinstance(self.rope_scaling     ,				UpperCamelCase__       ) 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}'''       )
    __magic_name__								=			self.rope_scaling.get("""type"""     ,				UpperCamelCase__       )
    __magic_name__								=			self.rope_scaling.get("""factor"""     ,				UpperCamelCase__       )
    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(UpperCamelCase__     ,				UpperCamelCase__       ) or rope_scaling_factor <= 1.0:
      raise ValueError(F'''`rope_scaling`\'s factor field must be an float > 1, got {rope_scaling_factor}'''       )



def a__       (			A_=28123   ):






  '''simple docstring'''





  __magic_name__								=			[1] * (limit + 1)

  for i in range(2,	int(limit**0.5   ) + 1   ):
    sum_divs[i * i] += i
    for k in range(i + 1,	limit // i + 1   ):
      sum_divs[k * i] += k + i

  __magic_name__								=			set()
  __magic_name__								=			0

  for n in range(1,	limit + 1   ):
    if sum_divs[n] > n:
      abundants.add(A_   )

    if not any((n - a in abundants) for a in abundants   ):
      res += n

  return res


if __name__ == "__main__":
    print(solution())

