Eigth homework assignment for SE/CS 46B.