Combinatorics and counting