Combinatorial algorithms for computers and calculators / Albert Nijenhuis and Herbert S. Wilf. - Nijenhuis, Albert (Computer science and applied mathematics., 1978)