Topological Sort with DFS (To Be Improved)