If you want, I can just deal with the changes in formatting when I go back and add in Alexander's alternate solutions.