public SCC_KosarajuSharir(Digraph G)
 {
     marked = new bool[G.V];
     id = new int[G.V];
     DepthFirstOrder dfs = new DepthFirstOrder(G.Reverse());
     foreach (int v in dfs.GetReversePost())
     {
         if (!marked[v])
         {
             DFS(G, v);
             count++;
         }
     }
 }