CS557 Homework 3