Discrete mathematics : mathematical reasoning and proof with puzzles, patterns, and games - Ensley, Douglas E.; Crawley, J. Winston (John Wiley & Sons, 2006)