Discrete Mathematics: Proofs, Structures and Applications, Third Edition