'''simple docstring'''






import os

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






def  UpperCamelCase__					(					)							->	int:

  '''simple docstring'''





  __UpperCAmelCase:					Tuple		= os.path.dirname(os.path.realpath(_lowercase     )     )
  __UpperCAmelCase:					Any		= os.path.join(_lowercase   ,    """words.txt"""     )

  __UpperCAmelCase:					str		= """"""
  with open(_lowercase     ) as f:
    __UpperCAmelCase:					List[Any]		= f.readline()

  __UpperCAmelCase:					Optional[Any]		= [word.strip("""\""""     ) for word in words.strip("""\r\n"""     ).split(""","""     )]
  __UpperCAmelCase:					Optional[int]		= [
      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())
'''simple docstring'''






def  UpperCamelCase__					(					_lowercase    :				int     )							->	int:

  if not isinstance(_lowercase   ,    _lowercase     ):
    __UpperCAmelCase:					List[str]		= F'''Input value of [number={number}] must be an integer'''
    raise TypeError(_lowercase     )

  if number < 1:
    __UpperCAmelCase:					Dict		= F'''Input value of [number={number}] must be > 0'''
    raise ValueError(_lowercase     )

  __UpperCAmelCase:					int		= 1

  for i in range(1   ,    _lowercase     ):
    current_number *= 4 * i - 2
    current_number //= i + 1

  return current_number


if __name__ == "__main__":
    import doctest

    doctest.testmod()