Combinatorial algorithms : generation, enumeration, and search - Kreher, Donald L. (CRC Press, 1999)