Programming Assignment 2.