Example 3.24, it only iterates once through the sup list in the worst case