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