Introduction to Enumerative Combinatorics by Miklos Bona