Extra credit project for UCR's cs141, Intermediate Algorithms and Data Structures