CS172 Assignment 3 due May 27