Fifth homework assignment for SE/CS 46B.