






"""simple docstring"""





import os

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



def   a    (     )    ->							Union[str, Any]:
						__magic_name__:	List[Any]							=       os.path.dirname(os.path.realpath(__UpperCAmelCase  )  )
						__magic_name__:	Dict							=       os.path.join(__UpperCAmelCase      ,   """words.txt"""  )

						__magic_name__:	Dict							=       """"""
						with open(__UpperCAmelCase  ) as f:
												__magic_name__:	Any							=       f.readline()

						__magic_name__:	Optional[Any]							=       [word.strip("""\""""  ) for word in words.strip("""\r\n"""  ).split(""","""  )]
						__magic_name__:	int							=       [
						    word
						    for word in [sum(ord(__UpperCAmelCase  ) - 6_4 for x in word  ) for word in words]
						    if word in TRIANGULAR_NUMBERS
						]
						return len(__UpperCAmelCase  )


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











"""simple docstring"""
from __future__ import annotations

from decimal import Decimal
from math import *  # noqa: F403

from sympy import diff






def       __UpperCamelCase						(		snake_case__ , snake_case__ , snake_case__ = 10**-10       ):
	A_		:    Tuple						     = a
	while True:
		A_		:    List[str]						     = Decimal(snake_case__       ) - (
		    Decimal(eval(snake_case__       )       ) / Decimal(eval(str(diff(snake_case__       )       )       )       )  # noqa: S307
		)
		# This number dictates the accuracy of the answer
		if abs(eval(snake_case__       )       ) < precision:  # noqa: S307
			return float(snake_case__       )


# Let's Execute
if __name__ == "__main__":
							# Find root of trigonometric function
							# Find value of pi
							print(F'The root of sin(x) = 0 is {newton_raphson("sin(x)", 2)}')
							# Find root of polynomial
							print(F'The root of x**2 - 5*x + 2 = 0 is {newton_raphson("x**2 - 5*x + 2", 0.4)}')
							# Find Square Root of 5
							print(F'The root of log(x) - 1 = 0 is {newton_raphson("log(x) - 1", 2)}')
							# Exponential Roots
							print(F'The root of exp(x) - 1 = 0 is {newton_raphson("exp(x) - 1", 0)}')

