






import os

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







def 					SCREAMING_SNAKE_CASE    (			):
	snake_case__			:				Optional[int]       =  os.path.dirname(os.path.realpath(snake_case_       )       )
	snake_case__			:				Optional[int]       =  os.path.join(snake_case_					,  "words.txt"       )

	snake_case__			:				Optional[int]       =  ""
	with open(snake_case_       ) as f:
		snake_case__			:				int       =  f.readline()

	snake_case__			:				Dict       =  [word.strip("\""       ) for word in words.strip("\r\n"       ).split(","       )]
	snake_case__			:				str       =  [
	    word
	    for word in [sum(ord(snake_case_       ) - 64 for x in word       ) for word in words]
	    if word in TRIANGULAR_NUMBERS
	]
	return len(snake_case_       )


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











__lowerCamelCase :      Optional[int]										=				"""Tobias Carryer"""

from time import time



class 							SCREAMING_SNAKE_CASE__						:





					"""simple docstring"""






					def __init__( self					:  List[Any]							,		__A					:  List[Any]							,		__A					:  Optional[int]							,		__A					:  List[str]							,		__A					:  Dict=int(time()	)	):  # noqa: B008
						snake_case__			:				List[Any]       =  multiplier
						snake_case__			:				Optional[int]       =  increment
						snake_case__			:				Optional[int]       =  modulo
						snake_case__			:				Union[str, Any]       =  seed






					def 	_lowercase					( self					:  str	):
						snake_case__			:				Union[str, Any]       =  (self.multiplier * self.seed + self.increment) % self.modulo
						return self.seed


if __name__ == "__main__":
	# Show the LCG in action.
	__lowerCamelCase :      int										=				LinearCongruentialGenerator(166_4525, 10_1390_4223, 2 << 31)
	while True:
		print(lcg.next_number())



