I wrote a sat solver Well, I tried to write a sat solver I wanted to find a way to drop 8 (or 9) qs into a stick of 6 metal with conditional shifts, so that it would have a unique recoverable pair in each possible stick. I did find a way with 9 with unique pairs in each stick but recovering them was awful. I knew it might not even be a good solution, because these sticks have to be rebuilt each output, but it could run at period 16 or 18 which is really fast. I gave up on this dream way too late, after my sat solver wasn't working as I expected, and sat down and tried out bits instead. First bit rejects 1 qs from metal 1 Second bit rejects 1 qs from metal 1 Third bit rejects 3 qs from metal 1 Fourth bit rejects 1 qs from metal 2 Fifth bit rejects 3 qs from metal 2 Then, one additional bit which represents bit one and not bit 2, is used to flip the output and project metal 1 an additional time. I found this encoding pretty quickly when looking into direct bits less than 48 hours before the deadline, and I felt a little dumb not having spent my time better. It runs at period 27, with too much disposing and an extra qs waste stick. Thankfully, the +11 area and +12 latency conditions fall on different inputs, so the worst case absorbs all of that waste into that latency. I had another version that used the qs suppression tech from week 4, but it was so hard to get the conditional qs for the last condition. At best it would be about 100g cheaper but 20c slower, effectively a wash. This one already loops and looks nice.