CS21120 - Program Design, Data Structures and Algorithms Assignment 2