A Walk Through Combinatorics: An Introduction to Enumeration and Graph Theory