func PowSet(Set, Size); int Set, Size; int N, M, Mask, DoComma; [ChOut(0, ^{); for N:= 0 to 1<0 then ChOut(0, ^,); ChOut(0, ^{); Mask:= 1; DoComma:= false; for M:= 0 to Size-1 do [if Mask & N then [if DoComma then ChOut(0, ^,); IntOut(0, Set(M)); DoComma:= true; ]; Mask:= Mask << 1; ]; ChOut(0, ^}); ]; Text(0, "}^m^j"); ]; [PowSet([2, 3, 5, 7], 4); PowSet([1], 1); PowSet(0, 0); ]