Probability, Counting and Combinatorics