dfs~ - -
enum all the situations of the first line,
can use bit operation to accelerate. todo~