depth-first search, source vertex s