
'''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_0_1)]


def 							SCREAMING_SNAKE_CASE_      (			):
      UpperCamelCase__    :   Optional[Any]					=				os.path.dirname(os.path.realpath(__A		)		)
      UpperCamelCase__    :   Tuple					=				os.path.join(__A ,		'''words.txt'''		)

      UpperCamelCase__    :   int					=				""""""
      with open(__A		) as f:
            UpperCamelCase__    :   Union[str, Any]					=				f.readline()

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


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




lowerCamelCase      ={"a": ["c", "b"], "b": ["d", "e"], "c": [], "d": [], "e": []}
lowerCamelCase      =["a", "b", "c", "d", "e"]


def 							SCREAMING_SNAKE_CASE_      (			UpperCamelCase__ ,		UpperCamelCase__ ,		UpperCamelCase__		):
      UpperCamelCase__    :   str					=				start
      # add current to visited
      visited.append(UpperCamelCase__		)
      UpperCamelCase__    :   int					=				edges[current]
      for neighbor in neighbors:
            # if neighbor not in visited, visit
            if neighbor not in visited:
                  UpperCamelCase__    :   int					=				topological_sort(UpperCamelCase__ ,		UpperCamelCase__ ,		UpperCamelCase__		)
    # if all neighbors visited add current to sort
      sort.append(UpperCamelCase__		)
      # if all vertices haven't been visited select a new one to visit
      if len(UpperCamelCase__		) != len(UpperCamelCase__		):
            for vertice in vertices:
                  if vertice not in visited:
                        UpperCamelCase__    :   Optional[int]					=				topological_sort(UpperCamelCase__ ,		UpperCamelCase__ ,		UpperCamelCase__		)
    # return sort
      return sort


if __name__ == "__main__":
    lowerCamelCase      =topological_sort("a", [], [])
    print(sort)


