The Art of Computer Programming, Volume 4, Fascicle 2: Generating All Tuples and Permutations