
from __future__ import annotations



def 						lowercase_      (       A__			,		A__		)							->							set[str]:
    """simple docstring"""

    snake_case					,							snake_case								= set(A__		), [start]

    while stack:
        snake_case								= stack.pop()
        explored.add(A__		)
        # Differences from BFS:
        # 1) pop last element instead of first one
        # 2) add adjacent elements to stack without exploring them
        for adj in reversed(graph[v]		):
            if adj not in explored:
                stack.append(A__		)
    return explored


_A   =			{
    "A": ["B", "C", "D"],
    "B": ["A", "D", "E"],
    "C": ["A", "F"],
    "D": ["B", "D"],
    "E": ["B", "F"],
    "F": ["C", "E", "G"],
    "G": ["F"],
}

if __name__ == "__main__":
   import doctest

   doctest.testmod()
   print(depth_first_search(G, "A"))



def 						lowercase_      (       A__ = 1000		)							->							int:
    """simple docstring"""

    return sum(2 * a * ((a - 1) // 2) for a in range(3			,		n + 1		)		)


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

