






'''simple docstring'''
UpperCamelCase__			=      {'a': ['c', 'b'], 'b': ['d', 'e'], 'c': [], 'd': [], 'e': []}
UpperCamelCase__			=      ['a', 'b', 'c', 'd', 'e']




def 		__SCREAMING_SNAKE_CASE       (	_UpperCamelCase    ,		_UpperCamelCase    ,		_UpperCamelCase				):


   """simple docstring"""




   lowercase_						:     Dict							     =  start
   # add current to visited
   visited.append(_UpperCamelCase				)
   lowercase_						:     Dict							     =  edges[current]
   for neighbor in neighbors:
      # if neighbor not in visited, visit
      if neighbor not in visited:
         lowercase_						:     Optional[Any]							     =  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:
            lowercase_						:     Any							     =  topological_sort(_UpperCamelCase    ,		_UpperCamelCase    ,		_UpperCamelCase				)
    # return sort
   return sort


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












'''simple docstring'''
def 		__SCREAMING_SNAKE_CASE       (	_UpperCamelCase = 100				):


   """simple docstring"""




   lowercase_						:     Dict							     =  n * (n + 1) * (2 * n + 1) / 6
   lowercase_						:     int							     =  (n * (n + 1) / 2) ** 2
   return int(square_of_sum - sum_of_squares				)


if __name__ == "__main__":
 print(f"""{solution() = }""")




