static void Main() { var n = int.Parse(Console.ReadLine()); var l = Read(); var set = new IndexedMultiSet <int>(); foreach (var x in l) { set.Add(x); } Array.Sort(l); var r = 0; for (int i = 0; i < n; i++) { for (int j = i + 1; j < n; j++) { r += set.GetLastIndex(x => x < l[i] + l[j]) - j; } } Console.WriteLine(r); }