Discrete Mathematics: Applied Combinatorics and Graph Theory