My solution for programming assignment #2.

With lots of comments so I don't forget how I solved it
and what it all means.  :)