Ipzz-447
The algorithm is linear in the sense that each step only depends on the previous accumulator and the current character. We can solve for each character backwards:
Running this script finishes instantly (≈0.2 s) and prints: ipzz-447
The flag string lives in (as expected).