





import os

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







def    A				(							):
					_snake_case       :					int				       =   os.path.dirname(os.path.realpath(UpperCAmelCase				)				)
					_snake_case       :					List[Any]				       =   os.path.join(UpperCAmelCase  ,  "words.txt"				)

					_snake_case       :					Dict				       =   """"""
					with open(UpperCAmelCase				) as f:
										_snake_case       :					Optional[int]				       =   f.readline()

					_snake_case       :					Union[str, Any]				       =   [word.strip("\""				) for word in words.strip("\r\n"				).split(","				)]
					_snake_case       :					Tuple				       =   [
					    word
					    for word in [sum(ord(UpperCAmelCase				) - 64 for x in word				) for word in words]
					    if word in TRIANGULAR_NUMBERS
					]
					return len(UpperCAmelCase				)


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












def    A				(							UpperCAmelCase				):
					return str(UpperCAmelCase				) == str(UpperCAmelCase				)[::-1]







def    A				(							UpperCAmelCase				):
					return int(UpperCAmelCase				) + int(str(UpperCAmelCase				)[::-1]				)







def    A				(							UpperCAmelCase = 10_000				):
					_snake_case       :					Optional[int]				       =   []
					for num in range(1  ,  UpperCAmelCase				):
										_snake_case       :					Optional[Any]				       =   0
										_snake_case       :					Optional[int]				       =   num
										while iterations < 50:
															_snake_case       :					Optional[Any]				       =   sum_reverse(UpperCAmelCase				)
															iterations += 1
															if is_palindrome(UpperCAmelCase				):
																				break
										else:
															lychrel_nums.append(UpperCAmelCase				)
					return len(UpperCAmelCase				)


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