using System;
using System.Linq;
public class Test
{
public static void Main()
{
int[] array = new int[10];
array[0] = 1;
array[1] = 1;
array[2] = 1;
array[3] = 2;
array[4] = 1;
array[5] = 2;
array[6] = 1;
array[7] = 1;
array[8] = 2;
array[9] = 3;
var countGroups = array.GroupBy(a => a)
.OrderByDescending(g => g.Count());
foreach(var g in countGroups)
Console.WriteLine("{0} => {1} times", g.Key, g.Count());
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uTGlucTsKCnB1YmxpYyBjbGFzcyBUZXN0CnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBNYWluKCkKCXsKCQlpbnRbXSBhcnJheSA9IG5ldyBpbnRbMTBdOwoJCWFycmF5WzBdID0gMTsKCQlhcnJheVsxXSA9IDE7CgkJYXJyYXlbMl0gPSAxOwoJCWFycmF5WzNdID0gMjsKCQlhcnJheVs0XSA9IDE7CgkJYXJyYXlbNV0gPSAyOwoJCWFycmF5WzZdID0gMTsKCQlhcnJheVs3XSA9IDE7CgkJYXJyYXlbOF0gPSAyOwoJCWFycmF5WzldID0gMzsKCgkJdmFyIGNvdW50R3JvdXBzID0gYXJyYXkuR3JvdXBCeShhID0+IGEpCiAgICAgICAgICAgICAgICAgICAgICAgLk9yZGVyQnlEZXNjZW5kaW5nKGcgPT4gZy5Db3VudCgpKTsKCgkJZm9yZWFjaCh2YXIgZyBpbiBjb3VudEdyb3VwcykKCQkgICAgQ29uc29sZS5Xcml0ZUxpbmUoInswfSA9PiB7MX0gdGltZXMiLCBnLktleSwgZy5Db3VudCgpKTsKCgoJfQp9