





import os

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


def     SCREAMING_SNAKE_CASE			(      ):
       _UpperCamelCase              =						os.path.dirname(os.path.realpath(lowerCAmelCase					)					)
       _UpperCamelCase              =						os.path.join(lowerCAmelCase    ,       '''words.txt'''					)

       _UpperCamelCase              =						''''''
       with open(lowerCAmelCase					) as f:
              _UpperCamelCase              =						f.readline()

       _UpperCamelCase              =						[word.strip('''"'''					) for word in words.strip('''\r\n'''					).split(''','''					)]
       _UpperCamelCase              =						[
           word
           for word in [sum(ord(lowerCAmelCase					) - 64 for x in word					) for word in words]
           if word in TRIANGULAR_NUMBERS
       ]
       return len(lowerCAmelCase					)


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













from math import factorial


def     SCREAMING_SNAKE_CASE			(      lowerCAmelCase = 20					):
       _UpperCamelCase              =						2 * n  # middle entry of odd rows starting at row 3 is the solution for n = 1,
       # 2, 3,...
       _UpperCamelCase              =						n // 2

       return int(factorial(lowerCAmelCase					) / (factorial(lowerCAmelCase					) * factorial(n - k					))					)


if __name__ == "__main__":
       import sys

       if len(sys.argv) == 1:
              print(solution(20))
       else:
              try:
                     lowercase    : Dict    	=  int(sys.argv[1])
                     print(solution(n))
              except ValueError:
                     print("""Invalid entry - please enter a number.""")






