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