Enumerate the possible combinations We have three windows of opportunity, say W1, W2, W3. And we have 4 competitors, say, C1, C2, C3, C4.
Each competitor wants to be allocated at least two windows (so will get either 2 or all 3). Each window can be allocated to any number of competitors (so, from 1 to 4; or even 0 to 4 if that makes much difference).
The question is to enumerate all possible allocations of the windows to the competitors, if I do not want to differentiate amongst the windows themselves. (so, e.g., the allocation [(C1,C2,C3); (C2,C3,C4); (C3,C4,C1)] is considered identical to the allocation [(C2,C3,C4); (C3,C4,C1); (C1,C2,C3)])
If I did want to distinguish amongst the windows, it should be easy to list all combinations: Basically each competitor can be placed in 4 ways (it can go in 2 of the 3 windows (3C2=3 ways), or in all 3 windows (1 way)), so total combinations should be 256. But how to enumerate the "unique" ones here (which do not distinguish amongst the windows) without doing it manually by comparing ?

Well, if we don't distinguish between "types" of window, each competitor can have either 2 or 3 allotted windows, which is exactly two choices, so the number of possible outcomes is $2^4 = 16$.
