Given a data stream input of positive integers a1, a2, ..., an, ..., summary the numbers seen so far as a list of disjoint intervals.

For example, suppose the input are 1, 3, 7, 2, 6, ..., then the summary will be:

[1, 1]

[1, 1], [3, 3]

[1, 1], [3, 3], [7, 7]

[1, 3], [7, 7]

[1, 3], [6, 7]

Need to do it better than linear time.