Homework #2 (full)