vector<int> dfs(int start, vector<vector<int>> adj, vector<int> visited) {
vector<int> traversal;
visited[start] = 1;
traversal.push_back(start);
for (auto next: adj[start]) {
if (!visited[start]) {
dfs(next, adj, visited);
}
}
return traversal;
}