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