using System;
using System.Linq;
using System.Collections.Generic;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
int[] arr = { 1, 2, 3, 4 };
IEnumerable<IEnumerable<int>> result = arr.Select(x => new List<int>() { x });
for (int i = 1; i < arr.Length; i++)
result = result.SelectMany(x => arr.Except(x), (x, y) => x.Concat(new int[] { y }));
foreach (var item in result)
{
foreach (int i in item)
Console.Write(i + " ");
Console.WriteLine();
}
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uTGlucTsKdXNpbmcgU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWM7CgpuYW1lc3BhY2UgQ29uc29sZUFwcDEKewogICAgY2xhc3MgUHJvZ3JhbQogICAgewogICAgICAgIHN0YXRpYyB2b2lkIE1haW4oc3RyaW5nW10gYXJncykKICAgICAgICB7CgkJCWludFtdIGFyciA9IHsgMSwgMiwgMywgNCB9OwoJCQlJRW51bWVyYWJsZTxJRW51bWVyYWJsZTxpbnQ+PiByZXN1bHQgPSBhcnIuU2VsZWN0KHggPT4gbmV3IExpc3Q8aW50PigpIHsgeCB9KTsKCQkJZm9yIChpbnQgaSA9IDE7IGkgPCBhcnIuTGVuZ3RoOyBpKyspCgkJCSAgICByZXN1bHQgPSByZXN1bHQuU2VsZWN0TWFueSh4ID0+IGFyci5FeGNlcHQoeCksICh4LCB5KSA9PiB4LkNvbmNhdChuZXcgaW50W10geyB5IH0pKTsKCQkJZm9yZWFjaCAodmFyIGl0ZW0gaW4gcmVzdWx0KQoJCQl7CgkJCSAgICBmb3JlYWNoIChpbnQgaSBpbiBpdGVtKQoJCQkgICAgICAgIENvbnNvbGUuV3JpdGUoaSArICIgIik7CgkJCSAgICBDb25zb2xlLldyaXRlTGluZSgpOwoJCQl9CiAgICAgICAgfQogICAgfQp9Cg==