void dfs(vector<int> adj[],vector<int>& ans,vector<bool>& visited,int i)
{
ans.push_back(i);
visited[i]=true;
for(auto it: adj[i])
{
if(!visited[it])
{
dfs(adj,ans,visited,it);
}
}
}
vector<int> dfsOfGraph(int V, vector<int> adj[]) {
// Code here
vector<bool> visited(V,false);
vector<int> ans;
dfs(adj,ans,visited,0);
return ans;
}