dfs
greedy