Adding solutions to problems 12 through 15