






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


UpperCAmelCase__							  =						logging.get_logger(__name__)

UpperCAmelCase__							  =						{
    "tanreinama/GPTSAN-2.8B-spout_is_uniform": (
        "https://huggingface.co/tanreinama/GPTSAN-2.8B-spout_is_uniform/resolve/main/config.json"
    ),
}






class 						lowercase_   (      UpperCAmelCase__  ):






      '''simple docstring'''




      __snake_case	    =    '''gptsan-japanese'''
      __snake_case	    =    [
          '''past_key_values''',
      ]
      __snake_case	    =    {
          '''hidden_size''': '''d_model''',
          '''num_attention_heads''': '''num_heads''',
          '''num_hidden_layers''': '''num_layers''',
      }







      def __init__( self :		Union[str, Any]					,   __UpperCAmelCase :		str=36_000					,   __UpperCAmelCase :		List[str]=1_280					,   __UpperCAmelCase :		Any=1_024					,   __UpperCAmelCase :		Optional[int]=8_192					,   __UpperCAmelCase :		Optional[int]=4_096					,   __UpperCAmelCase :		Optional[int]=128					,   __UpperCAmelCase :		Tuple=10					,   __UpperCAmelCase :		Union[str, Any]=0					,   __UpperCAmelCase :		int=16					,   __UpperCAmelCase :		List[str]=16					,   __UpperCAmelCase :		Optional[int]=128					,   __UpperCAmelCase :		Optional[int]=0.0					,   __UpperCAmelCase :		Any=1e-5					,   __UpperCAmelCase :		Union[str, Any]=False					,   __UpperCAmelCase :		Any=0.0					,   __UpperCAmelCase :		List[Any]="float32"					,   __UpperCAmelCase :		Optional[int]=False					,   __UpperCAmelCase :		int=False					,   __UpperCAmelCase :		Union[str, Any]=False					,   __UpperCAmelCase :		Any=0.002					,   __UpperCAmelCase :		int=False					,   __UpperCAmelCase :		str=True					,   __UpperCAmelCase :		Any=35_998					,   __UpperCAmelCase :		Dict=35_995					,   __UpperCAmelCase :		Optional[int]=35_999					,   **__UpperCAmelCase :		List[str]					,   )       ->List[Any]:




       """simple docstring"""


       a						    = vocab_size
       a						    = max_position_embeddings
       a						    = d_model
       a						    = d_ff
       a						    = d_ext
       a						    = d_spout
       a						    = num_switch_layers
       a						    = num_ext_layers
       a						    = num_switch_layers + num_ext_layers
       a						    = num_heads
       a						    = num_experts
       a						    = expert_capacity
       a						    = dropout_rate
       a						    = layer_norm_epsilon
       a						    = router_bias
       a						    = router_jitter_noise
       a						    = router_dtype
       a						    = router_ignore_padding_tokens
       a						    = output_hidden_states
       a						    = output_attentions
       a						    = initializer_factor
       a						    = output_router_logits
       a						    = use_cache

       super().__init__(
           separator_token_id=__lowercase					,   pad_token_id=__lowercase					,   eos_token_id=__lowercase					,   **__lowercase					,   )








def 		lowerCamelCase__       (						):







	'''simple docstring'''





	for n in range(1	,      1000000				):
		yield n * (n + 1) // 2


def 		lowerCamelCase__       (						_A				):







	'''simple docstring'''





	snake_case_						       =	1
	snake_case_						       =	2
	while i * i <= n:
		snake_case_						       =	0
		while n % i == 0:
			n //= i
			multiplicity += 1
		divisors_count *= multiplicity + 1
		i += 1
	if n > 1:
		divisors_count *= 2
	return divisors_count


def 		lowerCamelCase__       (						):







	'''simple docstring'''





	return next(i for i in triangle_number_generator() if count_divisors(_A				) > 500				)


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