Final project for Algorithms class with Bill Brower.