class Program
{
static void Display(List<int> items)
foreach (var v in items)
Console.Write(v.ToString()+" ");
}
if (items.Count == 0)
Console.Write("null");
static void PowerSet(int i, List<int> list_A, List<int> list_B)
int e = 0;
if (i > list_A.Count)
Display(list_B);
Console.WriteLine("");
else
e = list_A[i - 1];
list_B.Add(e);
PowerSet(i+1,list_A ,list_B);
list_B.RemoveAt(list_B .Count-1);
static void Main(string[] args)
List<int> list_A = new List<int> { 1,2,3};
List<int> list_B = new List<int>();
PowerSet(1,list_A,list_B);
Console.ReadLine();