Discrete and Combinatorial Mathematics