enum+dfs