NN: "not diffrenet between {{2},{2,3}} and {{1,3},{2}}"
I think you made a typing error here when you wrote "{{2},{2,3}}. But, at least you are making a first step towards precisely stating your requirements. You have just specified that each permutation that includes two elements is a 'true' set: which means {1,3} and {3,1} are equivalent ... this requirement, for example, I believe (but am not totally sure) would rule out using the 'Distinct operator in Linq.
CodeProject is your friend: "Permutations, Combinations, and Variations using C# Generics" by Adrian Akison"[
^] !
And this blog post by Eric Lippert, "Computing a Cartesian Product with LINQ"[
^], may be helpful.
Next: show us some code, whether you Linq, or opt for other types of composition :)