Homework 7, due on Monday, May 20