since i was encouraged to break the rules, I'm going to claim this is a complete solution.