

import os

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



def 					lowerCAmelCase__							(	)			->      Dict:




				'''simple docstring'''





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

				A__        =			''
				with open(__lowercase      ) as f:
								A__        =			f.readline()

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


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




def 					lowerCAmelCase__							(	SCREAMING_SNAKE_CASE_:							int      )			->      int:




				'''simple docstring'''





				if divisor % 5 == 0 or divisor % 2 == 0:
								return 0
				A__        =			1
				A__        =			1
				while repunit:
								A__        =			(1_0 * repunit + 1) % divisor
								repunit_index += 1
				return repunit_index



def 					lowerCAmelCase__							(	SCREAMING_SNAKE_CASE_:							int = 1_0_0_0_0_0_0      )			->      int:




				'''simple docstring'''





				A__        =			limit - 1
				if divisor % 2 == 0:
								divisor += 1
				while least_divisible_repunit(SCREAMING_SNAKE_CASE_      ) <= limit:
								divisor += 2
				return divisor


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

