Discrete mathematics : proofs, structures, and applications - Garnier, Rowan