




import os

# Precomputes a list of the 100 first triangular numbers
a_				:    Optional[Any]										=     [int(0.5 * n * (n + 1)) for n in range(1, 1_01)]





def 						UpperCAmelCase				(			)  ->     Dict:
			__lowerCamelCase					:	List[Any]	       =				os.path.dirname(os.path.realpath(A__     )     )
			__lowerCamelCase					:	Optional[int]	       =				os.path.join(A__							,				'words.txt'     )

			__lowerCamelCase					:	List[str]	       =				''
			with open(A__     ) as f:
						__lowerCamelCase					:	int	       =				f.readline()

			__lowerCamelCase					:	Optional[int]	       =				[word.strip('"'     ) for word in words.strip('\r\n'     ).split(','     )]
			__lowerCamelCase					:	Dict	       =				[
			    word
			    for word in [sum(ord(A__     ) - 64 for x in word     ) for word in words]
			    if word in TRIANGULAR_NUMBERS
			]
			return len(A__     )


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









"""simple docstring"""
import math





def 						UpperCAmelCase				(			A__:    int = 100     )  ->     int:
			__lowerCamelCase					:	Optional[Any]	       =				sum(i * i for i in range(1							,				n + 1     )     )
			__lowerCamelCase					:	Union[str, Any]	       =				int(math.pow(sum(range(1							,				n + 1     )     )							,				2     )     )
			return square_of_sum - sum_of_squares


if __name__ == "__main__":
					print(F"""{solution() = }""")



