Is this really what we want the algorithm to do -- Or are the notes wrong?
I have checked the text as-well but its very vague: "First page
encountered in the lowest non-empty class" - well classes 3 and 4 don't
exist anymore after the second pass. But class 1 can be created after the
second pass. To get around my above problem would require at least one
extra pass.. perhaps the notes should say this: