For (a), clearly the answer is much more than 10: x1,x2,x3,...,x9,M are the 10 soups, and you have, say, {M,M,M,M, Xi, Xj} where Xi,Xj come from { x1,x2,...,x9 } There are 9 possible Xi and 9 possible Xj, but when Xi ≠ Xj we end up counting cases twice (it does not matter if Xi is chicken soup and Xj is tomato soup or Xi is tomato and Xj is chicken). To pick such that Xi ≠ Xj, you can choose any one from 9 for Xi, then there are 8 choices for Xj, for the case Xi=Xj, there are simply 9 choices, thus there are (9*8)/2 + 9 = **45** ways.

For (b) you need to do the above for 4 M's (45), 5M's (9), and 6M's (1). 45+9+1 = **55**.