Stanford CS106A Assignment 3 Solution (Breakout)