Another simple way to generate combinations in lexical order is to start with the combination (1, 2, 3, ..., r). The next combination in each case is generated by scanning the current combination from right to left until we encounter an element that has not attained its maximum value. This element is incremented by one, and all elements to the right of it are set to their lowest allowable values and so the process repeats. Implement this combination generation algorithm and compare its performance with our original algorithm.