includes two incomplete solutions
merged