subproblems