




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


lowercase__							:	str											=		logging.get_logger(__name__)

lowercase__							:	Union[str, Any]											=		{
    "speechbrain/m-ctc-t-large": "https://huggingface.co/speechbrain/m-ctc-t-large/resolve/main/config.json",
    # See all M-CTC-T models at https://huggingface.co/models?filter=mctct
}
class 						UpperCAmelCase  (							UpperCAmelCase__     ):







						'''simple docstring'''





						lowerCAmelCase_							=  '''mctct'''






						def __init__(		self				:	Tuple			,      __lowercase				:	Optional[Any]=80_65			,      __lowercase				:	Tuple=15_36			,      __lowercase				:	Tuple=36			,      __lowercase				:	int=61_44			,      __lowercase				:	List[str]=4			,      __lowercase				:	Union[str, Any]=3_84			,      __lowercase				:	Any=9_20			,      __lowercase				:	str=1E-5			,      __lowercase				:	Optional[int]=0.3			,      __lowercase				:	Union[str, Any]="relu"			,      __lowercase				:	List[str]=0.02			,      __lowercase				:	Union[str, Any]=0.3			,      __lowercase				:	Optional[Any]=0.3			,      __lowercase				:	Tuple=1			,      __lowercase				:	List[str]=0			,      __lowercase				:	List[Any]=2			,      __lowercase				:	int=1			,      __lowercase				:	str=0.3			,      __lowercase				:	str=1			,      __lowercase				:	Optional[int]=(7,)			,      __lowercase				:	Tuple=(3,)			,      __lowercase				:	Dict=80			,      __lowercase				:	List[Any]=1			,      __lowercase				:	Any=None			,      __lowercase				:	Optional[int]="sum"			,      __lowercase				:	Any=False			,      **__lowercase				:	Tuple			,      ):






							"""simple docstring"""






							super().__init__(**__lowercase			,      pad_token_id=__lowercase			,      bos_token_id=__lowercase			,      eos_token_id=__lowercase		)
							snake_case_						       =	vocab_size
							snake_case_						       =	hidden_size
							snake_case_						       =	num_hidden_layers
							snake_case_						       =	intermediate_size
							snake_case_						       =	num_attention_heads
							snake_case_						       =	attention_head_dim
							snake_case_						       =	max_position_embeddings
							snake_case_						       =	layer_norm_eps
							snake_case_						       =	layerdrop
							snake_case_						       =	hidden_act
							snake_case_						       =	initializer_range
							snake_case_						       =	hidden_dropout_prob
							snake_case_						       =	attention_probs_dropout_prob
							snake_case_						       =	pad_token_id
							snake_case_						       =	bos_token_id
							snake_case_						       =	eos_token_id
							snake_case_						       =	conv_glu_dim
							snake_case_						       =	conv_dropout
							snake_case_						       =	num_conv_layers
							snake_case_						       =	input_feat_per_channel
							snake_case_						       =	input_channels
							snake_case_						       =	conv_channels
							snake_case_						       =	ctc_loss_reduction
							snake_case_						       =	ctc_zero_infinity

							# prevents config testing fail with exporting to json
							snake_case_						       =	list(__lowercase		)
							snake_case_						       =	list(__lowercase		)

							if len(self.conv_kernel		) != self.num_conv_layers:
								raise ValueError(
								    "Configuration for convolutional module is incorrect. "
								    "It is required that `len(config.conv_kernel)` == `config.num_conv_layers` "
								    f"but is `len(config.conv_kernel) = {len(self.conv_kernel		)}`, "
								    f"`config.num_conv_layers = {self.num_conv_layers}`."		)






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())
