The Art of Computer Programming, Volume 4, Fascicle 3: Generating All Combinations and Partitions