Bruce Chang - Problem Set #6
Source code