Homework 2 for CSE 445