problem 15, 19, 20, begin 21