Lessons in Enumerative Combinatorics