Programming Assignment 2 by Sujit Sarkar