Stanford CS106a Solution Set by Megan Zhou