100 atcoder#ABC143D. [ABC143D] Triangles

[ABC143D] Triangles

Score : 400400 points

Problem Statement

Takahashi has NN sticks that are distinguishable from each other. The length of the ii-th stick is LiL_i.

He is going to form a triangle using three of these sticks. Let aa, bb, and cc be the lengths of the three sticks used. Here, all of the following conditions must be satisfied:

  • a<b+ca < b + c
  • b<c+ab < c + a
  • c<a+bc < a + b

How many different triangles can be formed? Two triangles are considered different when there is a stick used in only one of them.

Constraints

  • All values in input are integers.
  • 3N2×1033 \leq N \leq 2 \times 10^3
  • 1Li1031 \leq L_i \leq 10^3

Input

Input is given from Standard Input in the following format:

NN

L1L_1 L2L_2 ...... LNL_N

Constraints

Print the number of different triangles that can be formed.

4
3 4 2 1
1

Only one triangle can be formed: the triangle formed by the first, second, and third sticks.

3
1 1000 1
0

No triangles can be formed.

7
218 786 704 233 645 728 389
23