unsigned three = 1;
unsigned five = 5;
unsigned seven = 7;
These actually get changed through pointers to consecutive powers of 3, 5 and 7 respectively. `three` is initialized to the 0th power of 3, but because only a single 1 is needed by the algorithm, `five` and `seven` are initialized to the 1st powers instead.
Was that the 2-3-4 tree? Can't seem to find it now.