Bruce Chang - Problem Set #3
Source code