Homework 6, due on Wednesday, May 20 by 11:59pm PST