Discrete and combinatorial mathematics an applied introduction - Grimaldi, Raplh P.