In the 2011 Canadian general election, 166 conservatives, 103 ndps, 34 liberals, 4 bloc quebecois, and 1 green were elected. If an all-party committee is to be formed consisting of 9 conservatives, 5 ndps, 2 liberals, 1 bloc quebecois, and 1 green, how many different committees are possible?

I've got:
166!/9! * 103!/5! * 34!/2! * 4! * 1!

How do I calculate such big numbers?!?

166C9 * 103C5 * 34C2 * 4C1 * 1C1

does your calculator have an nCr function?

google "nCr calculator"

You sir, are a hero. My textbook only teaches the crossing out method which works well with numbers under 40 but I was at a loss as to how to do them in the three digits.

Calculating large numbers like 166! (factorial) can be computationally challenging. However, thanks to the properties of factorials, you can simplify the calculations by canceling out common terms. Additionally, you can use a calculator or programming language with built-in factorial functions to find the answer quickly. Here's a step-by-step breakdown of how to calculate the number of different committees:

1. Calculate the factorial for the number of conservatives (166!) and divide it by the factorial of the number of conservatives in the committee (9!). This will give you the number of ways to choose 9 conservatives from a pool of 166:
166! / 9!

2. Similarly, calculate the factorial for the number of ndps (103!) and divide it by the factorial of the number of ndps in the committee (5!):
103! / 5!

3. Calculate the factorial for the number of liberals (34!) divided by the factorial of the number of liberals in the committee (2!):
34! / 2!

4. Since there is no variation in the number of bloc quebecois members (1), there is no need to calculate a factorial. Simply multiply by 1.

5. Finally, multiply all the results together to get the total number of different committees:
(166! / 9!) * (103! / 5!) * (34! / 2!) * 1

To evaluate such large factorials more easily, you can use a calculator or programming language that supports big number calculations. For example, many programming languages have libraries or functions that handle large numbers easily.