solving problems 583972