Das sollte doch funktionieren, wenn man den Code möglichst eindampft (keine Variablen grösser deklarieren als nötig, und immer schön lokale Variablen benutzen, wo das geht)...