Combinations problem C++