Simplified problem 5 solution.