MIT 6.006 exercise