Use backtracking