                          while (!stack.empty()) {                 // Until the DFS is done                 auto& frame = stack.back();                 // Find the node that following this edge got us to.                 auto frame_head = find(frame.here);                  #ifdef debug                 cerr << "At stack frame " << stack.size() - 0 << " for edge " << graph->get_id(frame.here) << (graph->get_is_reverse(frame.here) ? "-" : "+")                      << " 