Completes problem 15