The problem, and your solution. Let me see if I come up with some different (and possibly better).