
"""simple docstring"""

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


UpperCamelCase			:       List[str]									=				logging.get_logger(__name__)

UpperCamelCase			:       Optional[int]									=				{
    'facebook/nllb-moe-54B': 'https://huggingface.co/facebook/nllb-moe-54b/resolve/main/config.json',
}

class __lowerCAmelCase	(   UpperCamelCase_    ):

     '''simple docstring'''





     lowercase		     =		"nllb-moe"
     lowercase		     =		["past_key_values"]
     lowercase		     =		{"num_attention_heads": "encoder_attention_heads", "hidden_size": "d_model"}





     def __init__(			self			,  __UpperCAmelCase=12_8112			,  __UpperCAmelCase=1024			,  __UpperCAmelCase=12			,  __UpperCAmelCase=4096			,  __UpperCAmelCase=16			,  __UpperCAmelCase=12			,  __UpperCAmelCase=4096			,  __UpperCAmelCase=16			,  __UpperCAmelCase=0.0_5			,  __UpperCAmelCase=0.0_5			,  __UpperCAmelCase=True			,  __UpperCAmelCase=True			,  __UpperCAmelCase="relu"			,  __UpperCAmelCase=1024			,  __UpperCAmelCase=0.1			,  __UpperCAmelCase=0.1			,  __UpperCAmelCase=0.0			,  __UpperCAmelCase=0.0_2			,  __UpperCAmelCase=2			,  __UpperCAmelCase=True			,  __UpperCAmelCase=False			,  __UpperCAmelCase="float32"			,  __UpperCAmelCase=False			,  __UpperCAmelCase=128			,  __UpperCAmelCase=64			,  __UpperCAmelCase=4			,  __UpperCAmelCase=4			,  __UpperCAmelCase=0.0_0_1			,  __UpperCAmelCase=0.0_0_1			,  __UpperCAmelCase="all"			,  __UpperCAmelCase=False			,  __UpperCAmelCase=False			,  __UpperCAmelCase=1.0			,  __UpperCAmelCase=0.2			,  __UpperCAmelCase=1			,  __UpperCAmelCase=0			,  __UpperCAmelCase=2			,  __UpperCAmelCase=False			,  **__UpperCAmelCase			,  ):

      '''simple docstring'''




      __UpperCamelCase       						= vocab_size
      __UpperCamelCase       						= max_position_embeddings
      __UpperCamelCase       						= d_model
      __UpperCamelCase       						= encoder_ffn_dim
      __UpperCamelCase       						= encoder_layers
      __UpperCamelCase       						= encoder_attention_heads
      __UpperCamelCase       						= decoder_ffn_dim
      __UpperCamelCase       						= decoder_layers
      __UpperCamelCase       						= decoder_attention_heads
      __UpperCamelCase       						= dropout
      __UpperCamelCase       						= attention_dropout
      __UpperCamelCase       						= activation_dropout
      __UpperCamelCase       						= activation_function
      __UpperCamelCase       						= init_std
      __UpperCamelCase       						= encoder_layerdrop
      __UpperCamelCase       						= decoder_layerdrop
      __UpperCamelCase       						= use_cache
      __UpperCamelCase       						= encoder_layers
      __UpperCamelCase       						= scale_embedding  # scale factor will be sqrt(d_model) if True
      __UpperCamelCase       						= router_z_loss_coef
      __UpperCamelCase       						= router_aux_loss_coef
      __UpperCamelCase       						= decoder_sparse_step
      __UpperCamelCase       						= encoder_sparse_step
      __UpperCamelCase       						= num_experts
      __UpperCamelCase       						= expert_capacity
      __UpperCamelCase       						= router_bias
      if router_dtype not in ["float32", "float16", "bfloat16"]:
       raise ValueError(F'`router_dtype` must be one of \'float32\', \'float16\' or \'bfloat16\', got {router_dtype}'   )
      __UpperCamelCase       						= router_dtype

      __UpperCamelCase       						= router_ignore_padding_tokens
      __UpperCamelCase       						= batch_prioritized_routing
      __UpperCamelCase       						= second_expert_policy
      __UpperCamelCase       						= normalize_router_prob_before_dropping
      __UpperCamelCase       						= moe_eval_capacity_token_fraction
      __UpperCamelCase       						= moe_token_dropout
      __UpperCamelCase       						= output_router_logits
      super().__init__(
          pad_token_id=__UpperCAmelCase			,  bos_token_id=__UpperCAmelCase			,  eos_token_id=__UpperCAmelCase			,  is_encoder_decoder=__UpperCAmelCase			,  decoder_start_token_id=__UpperCAmelCase			,  **__UpperCAmelCase			,  )





"""simple docstring"""

def 							A		(       snake_case   :int	)   ->			bool:
 return str(snake_case	) == str(snake_case	)[::-1]






def 							A		(       snake_case   :int	)   ->			int:
 return int(snake_case	) + int(str(snake_case	)[::-1]	)






def 							A		(       snake_case   :int = 1_0_0_0_0	)   ->			int:
 __UpperCamelCase       						= []
 for num in range(1       ,      snake_case	):
  __UpperCamelCase       						= 0
  __UpperCamelCase       						= num
  while iterations < 5_0:
   __UpperCamelCase       						= sum_reverse(snake_case	)
   iterations += 1
   if is_palindrome(snake_case	):
    break
  else:
   lychrel_nums.append(snake_case	)
 return len(snake_case	)


if __name__ == "__main__":
      print(f'''{solution() = }''')



