CS61c Project 3