






import os

# Precomputes a list of the 100 first triangular numbers
__UpperCamelCase   :   Dict      =    [int(0.5 * n * (n + 1)) for n in range(1, 101)]





def 					snake_case	(  ):




	'''simple docstring'''







	__lowercase   							=	os.path.dirname(os.path.realpath(lowerCamelCase       )       )
	__lowercase   							=	os.path.join(lowerCamelCase					,	"""words.txt"""       )

	__lowercase   							=	""""""
	with open(lowerCamelCase       ) as f:
		__lowercase   							=	f.readline()

	__lowercase   							=	[word.strip("""\""""       ) for word in words.strip("""\r\n"""       ).split(""","""       )]
	__lowercase   							=	[
	    word
	    for word in [sum(ord(lowerCamelCase       ) - 64 for x in word       ) for word in words]
	    if word in TRIANGULAR_NUMBERS
	]
	return len(lowerCamelCase       )


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





import numpy as np

from transformers import Pipeline





def 	_lowerCAmelCase					( UpperCamelCase__:  Optional[Any]    )			-> Optional[int]:





	"""simple docstring"""







	A             =					np.max(UpperCamelCase__				,       axis=-1				,       keepdims=UpperCamelCase__    )
	A             =					np.exp(outputs - maxes    )
	return shifted_exp / shifted_exp.sum(axis=-1				,       keepdims=UpperCamelCase__    )






class    _UpperCamelCase     (       __snake_case					):

				"""simple docstring"""







				def   _UpperCAmelCase       (    self					, **a__ )						->					Union[str, Any]:
					A             =					{}
					if "second_text" in kwargs:
						A             =					kwargs["""second_text"""]
					return preprocess_kwargs, {}, {}

				def   _UpperCAmelCase       (    self					, a__					, a__=None )						->					str:
					return self.tokenizer(a__					, text_pair=a__					, return_tensors=self.framework )

				def   _UpperCAmelCase       (    self					, a__ )						->					Tuple:
					return self.model(**a__ )

				def   _UpperCAmelCase       (    self					, a__ )						->					Optional[int]:
					A             =					model_outputs.logits[0].numpy()
					A             =					softmax(a__ )

					A             =					np.argmax(a__ )
					A             =					self.model.config.idalabel[best_class]
					A             =					probabilities[best_class].item()
					A             =					logits.tolist()
					return {"label": label, "score": score, "logits": logits}



