Discrete and combinatorial mathematics: an applied introduction - Grimaldi, Ralph P. (Pearson Education, 2007)