This was a lot of fun to work on with a couple of "Aha!" moments. I came up with two solutions and figured to post them both as when working on it to get to v1, a longer path, I took a step back and away from it to figure a shorter path after a break hence v2. I figure it is good to see how different paths come to the same thing and figure we are always iterating things to be better and more efficient.