+DFS recursion