




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


SCREAMING_SNAKE_CASE:     int									= logging.get_logger(__name__)

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



class    lowercase_		(SCREAMING_SNAKE_CASE__ ):
						lowerCAmelCase__			      ="nllb-moe"
						lowerCAmelCase__			      =["past_key_values"]
						lowerCAmelCase__			      ={"num_attention_heads": "encoder_attention_heads", "hidden_size": "d_model"}



						def __init__(			self	:   Optional[int]					,							snake_case__	:   int=12_81_12					,							snake_case__	:   int=10_24					,							snake_case__	:   Tuple=12					,							snake_case__	:   Union[str, Any]=40_96					,							snake_case__	:   Any=16					,							snake_case__	:   Optional[Any]=12					,							snake_case__	:   str=40_96					,							snake_case__	:   Union[str, Any]=16					,							snake_case__	:   Optional[int]=0.05					,							snake_case__	:   Optional[int]=0.05					,							snake_case__	:   Optional[Any]=True					,							snake_case__	:   List[str]=True					,							snake_case__	:   str="relu"					,							snake_case__	:   str=10_24					,							snake_case__	:   Union[str, Any]=0.1					,							snake_case__	:   List[str]=0.1					,							snake_case__	:   List[str]=0.0					,							snake_case__	:   str=0.02					,							snake_case__	:   List[str]=2					,							snake_case__	:   Dict=True					,							snake_case__	:   Dict=False					,							snake_case__	:   str="float32"					,							snake_case__	:   List[str]=False					,							snake_case__	:   str=1_28					,							snake_case__	:   int=64					,							snake_case__	:   int=4					,							snake_case__	:   Optional[int]=4					,							snake_case__	:   Tuple=0.0_01					,							snake_case__	:   Optional[Any]=0.0_01					,							snake_case__	:   Tuple="all"					,							snake_case__	:   List[Any]=False					,							snake_case__	:   Optional[Any]=False					,							snake_case__	:   int=1.0					,							snake_case__	:   Dict=0.2					,							snake_case__	:   Dict=1					,							snake_case__	:   Any=0					,							snake_case__	:   List[Any]=2					,							snake_case__	:   List[Any]=False					,							**snake_case__	:   str					,							):

								"""simple docstring"""

								SCREAMING_SNAKE_CASE_					      =							vocab_size
								SCREAMING_SNAKE_CASE_					      =							max_position_embeddings
								SCREAMING_SNAKE_CASE_					      =							d_model
								SCREAMING_SNAKE_CASE_					      =							encoder_ffn_dim
								SCREAMING_SNAKE_CASE_					      =							encoder_layers
								SCREAMING_SNAKE_CASE_					      =							encoder_attention_heads
								SCREAMING_SNAKE_CASE_					      =							decoder_ffn_dim
								SCREAMING_SNAKE_CASE_					      =							decoder_layers
								SCREAMING_SNAKE_CASE_					      =							decoder_attention_heads
								SCREAMING_SNAKE_CASE_					      =							dropout
								SCREAMING_SNAKE_CASE_					      =							attention_dropout
								SCREAMING_SNAKE_CASE_					      =							activation_dropout
								SCREAMING_SNAKE_CASE_					      =							activation_function
								SCREAMING_SNAKE_CASE_					      =							init_std
								SCREAMING_SNAKE_CASE_					      =							encoder_layerdrop
								SCREAMING_SNAKE_CASE_					      =							decoder_layerdrop
								SCREAMING_SNAKE_CASE_					      =							use_cache
								SCREAMING_SNAKE_CASE_					      =							encoder_layers
								SCREAMING_SNAKE_CASE_					      =							scale_embedding  # scale factor will be sqrt(d_model) if True
								SCREAMING_SNAKE_CASE_					      =							router_z_loss_coef
								SCREAMING_SNAKE_CASE_					      =							router_aux_loss_coef
								SCREAMING_SNAKE_CASE_					      =							decoder_sparse_step
								SCREAMING_SNAKE_CASE_					      =							encoder_sparse_step
								SCREAMING_SNAKE_CASE_					      =							num_experts
								SCREAMING_SNAKE_CASE_					      =							expert_capacity
								SCREAMING_SNAKE_CASE_					      =							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}'''  )
								SCREAMING_SNAKE_CASE_					      =							router_dtype

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





SCREAMING_SNAKE_CASE:     Optional[int]									= {str(digit): digit**5 for digit in range(1_0)}


def 					_a							(					lowerCAmelCase )->	int:
		return sum(DIGITS_FIFTH_POWER[digit] for digit in str(lowerCAmelCase ) )


def 					_a							(					)->	int:
		return sum(
		    number
		    for number in range(1000    ,						1000000 )
		    if number == digits_fifth_powers_sum(lowerCAmelCase ) )


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