There are 36 states in the state machine, and 6 different reads, for 216 different cases to handle. One factor of 6 in the state count is just the counter atom's projection level, and I can do everything I need with that atom directly without any conversion, so long as I can put it back safely on the lead input as a conditional. The next factor of 6 is the metal previously read, which needs to be stored within the machine in some converted way. Using the original metal alone is kind of useless, as we cannot read it without destroying it. I previously had built multiple copies of the original, which took a lot of quicksilver and waste, and still didn't make the rest of the problem easy (since you can't purify gold and gold with each other). After thinking a bit longer, I took a page out of kaliuresis' implementation of lock and key from habdet, and encoded the value in the number of pivots on a stick. The original metal is the center, and one quicksilver is the appendage sticking out at an different angle for each possibility. With this conversion, it is much simpler to solve the remainder of the problem, which is just a bunch of bonding conditionals. The main challenge was then figuring out the target speed and cost to optimize for this metric. The cost being taken at full weight suggests that cheap is the highest priority, but the vast number of distinct actions means that minimizing cost is not the way. I ended up selecting 24 cycles for each atom read, and then building around that to go as cheap as I could at that rate. For one last simplifying tactic, I flipped the input and output backwards so that the left edge of the output corresponds to the last atoms added rather than the first. By appending the atom type before the counter, this is equivalent to the original problem WITHOUT any challenge finding the output hole legally. 6P saves area mostly, but also allowed some init cycles savings.