Homework 8, due on Wednesday, May 29