function out = subsets(A)
 if size(A) == 1
     out = {[], [A(1)]};
 else
     temp = subsets(A(2:end));
     temp1 = insert1(A(1), temp);
     out = [temp, temp1];
 end;