First approach to part 2 was doomed, and and the hunt one edge case in my second implementation took forever.