Combinatorial algorithms generation, enumeration, and search - Kreher, Donald L. (CRC Press series on discrete mathematics and its applications, 1999)