The Art of Computer Programming, Volume 4A: Combinatorial Algorithms, Part 1