First part was solved using a list to store stones,
since I misinterpreted this paragraph:
> No matter how the stones change, their order is
> preserved, and they stay on their perfectly
> straight line.
But since the puzzle question do not require the
stones in the correct order, a list (or an OrderedDict)
is not required.
The pt 1 solution code got killed for eating all
RAM, so valuable minutes was lost trying to create
a generator instead. It failed. When searching for
clues, I ran across multiple people instead
utilizing dicts to count occourences. "but what of
the order?", I asked, and realized only the counts
was relevant.