using System.Collections.Generic;
public static void Main()
List<string> originalList = new List<string>()
List<string> outputList = new List<string>();
foreach(var g in originalList .GroupBy(x => x).Select(x => x.ToList()))
for(int i = 0; i < g.Count; i++)
outputList.Add(string.Format("{0}[{1}]", g[i], i + 1));
Console.WriteLine(string.Join("\n", outputList));