Homework 5, due on Monday, May 6