problem 21, passed after consulting the answer