The actually interesting part of this solution I think is the output checker. I'm using a VB wheel to suppress inputs, which I didn't know you could do. That way I can wiggle the triangle around all I like and not have it crash into the new input. From the left side's POV, there's no difference between a new or reused triangle. The main timing loop in this is on the right side, with arm #5 providing the 6 and the big spaghetti under arm #6 providing the 19. I think I can probably get it up to lcm(6, 23), cause 23 is the next prime above 19. To get any better than this I'll probably need to figure out how to include 3 loops in there.