The Assignment 2 for COMP 5005F.