private static void PrintSubItems(int[] source)
{
int i = 1;
int total = int.Parse(Math.Pow(2, source.Length).ToString());
int cur;
int cnt = 1;
while (i < total)
{
Console.Write("Possibility " + cnt + ": ");
cur = i;
int idx = 0;
while (cur != 0)
{
if ((cur & 1)!=0)
Console.Write(source[idx] + ", ");
cur >>= 1;
idx++;
}
cnt++;
i++;
Console.Write(" ");
}
}