Counting Techniques In Probability