class Test
{
static void Main(string[] args)
{
char[] chs = {'a','b','c','d'};
SubSet s = new SubSet(chs);
s.Print();
}
}
class SubSet
{
char[] chs;
int bits = 0;
public SubSet(char[] chs)
{
this.chs = chs;
}
public void Print()
{
for(int i = 0;i < (1<<chs.Length);i++)
{
for(int j = 0; j< chs.Length; j++)
if( ((1 << j) & i) !=0 )
Console.Write( chs[j] );
Console.WriteLine();
}
}
}