What is order of recursion here?

input : a binary tree

           1
        /     \
      2        3 
     /  \
    4   5

int x; 
// Sets maxCount as maximum distance from node. 
void dfsUtil(int node, int count, bool visited[], 
				int& maxCount, list<int>* adj) 
{ 
    cout<<node<<endl;
	visited[node] = true; 
	count++; 
    
	for (auto i = adj[node].begin(); i != adj[node].end(); ++i) { 
		if (!visited[*i]) {
          
			if (count >= maxCount) { 
				maxCount = count; 
				x = *i; 
			} 
          
			dfsUtil(*i, count, visited, maxCount, adj); 
		} 
	} 
} 

SOLVED