






import os
from typing import Dict, List, Tuple, TypeVar, Union


snake_case    				=		TypeVar("""T""")

snake_case    				=		Union[List[T], Tuple[T, ...]]
snake_case    				=		Union[T, List[T], Dict[str, T]]
snake_case    				=		Union[str, bytes, os.PathLike]














def   lowerCamelCase__			(     lowercase				):

  """simple docstring"""






  SCREAMING_SNAKE_CASE       :      Dict							=    [0] * len(lowercase				)
  SCREAMING_SNAKE_CASE       :      List[str]							=    []
  SCREAMING_SNAKE_CASE       :      Optional[Any]							=    []
  SCREAMING_SNAKE_CASE       :      Any							=    0

  for values in graph.values():
    for i in values:
      indegree[i] += 1

  for i in range(len(lowercase				)				):
    if indegree[i] == 0:
      queue.append(lowercase				)

  while queue:
    SCREAMING_SNAKE_CASE       :      Optional[Any]							=    queue.pop(0				)
    cnt += 1
    topo.append(lowercase				)
    for x in graph[vertex]:
      indegree[x] -= 1
      if indegree[x] == 0:
        queue.append(lowercase				)

  if cnt != len(lowercase				):
    print("Cycle exists"				)
  else:
    print(lowercase				)


# Adjacency List of Graph
snake_case    				=		{0: [1, 2], 1: [3], 2: [3], 3: [4, 5], 4: [], 5: []}

topological_sort(graph)






