I didn't think I could save this many cycles, but it turns out I was wasting like twenty cycles per product on messing with the input in ways that were completely unnecessary, so... that's fixed.