

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


lowerCAmelCase_       	=	logging.get_logger(__name__)

lowerCAmelCase_       	=	{
    '''google/fnet-base''': '''https://huggingface.co/google/fnet-base/resolve/main/config.json''',
    '''google/fnet-large''': '''https://huggingface.co/google/fnet-large/resolve/main/config.json'''
    # See all FNet models at https://huggingface.co/models?filter=fnet
}





class 	snake_case_   (		__A					):







			'''simple docstring'''

			SCREAMING_SNAKE_CASE     :   Dict									=				"fnet"







			def __init__(     self :				List[Any]							,   _UpperCamelCase :				Tuple=3_2_0_0_0							,   _UpperCamelCase :				Optional[Any]=7_6_8							,   _UpperCamelCase :				Union[str, Any]=1_2							,   _UpperCamelCase :				str=3_0_7_2							,   _UpperCamelCase :				Optional[int]="gelu_new"							,   _UpperCamelCase :				Optional[int]=0.1							,   _UpperCamelCase :				Union[str, Any]=5_1_2							,   _UpperCamelCase :				Tuple=4							,   _UpperCamelCase :				Tuple=0.02							,   _UpperCamelCase :				Tuple=1e-12							,   _UpperCamelCase :				List[str]=False							,   _UpperCamelCase :				Union[str, Any]=5_1_2							,   _UpperCamelCase :				Any=3							,   _UpperCamelCase :				str=1							,   _UpperCamelCase :				List[Any]=2							,   **_UpperCamelCase :				List[str]							,   )      ->Union[str, Any]:
									super().__init__(pad_token_id=_UpperCamelCase							,   bos_token_id=_UpperCamelCase							,   eos_token_id=_UpperCamelCase							,   **_UpperCamelCase							)

									snake_case_   =	vocab_size
									snake_case_   =	max_position_embeddings
									snake_case_   =	hidden_size
									snake_case_   =	num_hidden_layers
									snake_case_   =	intermediate_size
									snake_case_   =	hidden_act
									snake_case_   =	hidden_dropout_prob
									snake_case_   =	initializer_range
									snake_case_   =	type_vocab_size
									snake_case_   =	layer_norm_eps
									snake_case_   =	use_tpu_fourier_optimizations
									snake_case_   =	tpu_short_seq_length




'''simple docstring'''

def      __lowerCamelCase     (      )			->      Tuple:
		for n in range(1						,			1000000  ):
				yield n * (n + 1) // 2



def      __lowerCamelCase     (      lowerCAmelCase_  )			->      List[Any]:
		_a     :      Any        =							1
		_a     :      Tuple        =							2
		while i * i <= n:
				_a     :      Tuple        =							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     (      )			->      str:
		return next(i for i in triangle_number_generator() if count_divisors(lowerCAmelCase_  ) > 500  )


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




