>>226
{1,2,2,3,3,3,4,4,4,4}→ {1}{2,2}{3,3,3}{4,4,4,4} → {1,2,3,4}{2,3,4}{3,4}{4}

list
.GroupBy(x=>x)
.SelectMany(x => x.Select((item, index) => new {item, index}))
.GroupBy(x => x.index, x => x.item);