
import os

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




def 				a						(							):


				'''simple docstring'''
				lowercase_       =					os.path.dirname(os.path.realpath(snake_case__					)					)
				lowercase_       =					os.path.join(snake_case__						,   '''words.txt'''					)

				lowercase_       =					''''''
				with open(snake_case__					) as f:
								lowercase_       =					f.readline()

				lowercase_       =					[word.strip('''"'''					) for word in words.strip('''\r\n'''					).split(''','''					)]
				lowercase_       =					[
				    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())












from __future__ import annotations





def 						__UpperCAmelCase			(     a_							,     a_							,     a_							,     a_):  # noqa: E741
							while r - l > 1:
														snake_case_				=							(l + r) // 2
														if v[m] >= key:
																					snake_case_				=							m
														else:
																					snake_case_				=							m  # noqa: E741
							return r





def 						__UpperCAmelCase			(     a_):
							if len(a_) == 0:
														return 0

							snake_case_				=							[0] * len(a_)
							snake_case_				=							1

							snake_case_				=							v[0]

							for i in range(1							,     len(a_)):
														if v[i] < tail[0]:
																					snake_case_				=							v[i]
														elif v[i] > tail[length - 1]:
																					snake_case_				=							v[i]
																					length += 1
														else:
																					snake_case_				=							v[i]

							return length


if __name__ == "__main__":
	import doctest

	doctest.testmod()





