编程题
### 问题描述
小蓝这天和朋友在一起玩火柴,朋友突然想到一个问题准备考考她。问题如下:现在有 $n$ 根木棍,第 $i$ 根木棍长度为 $a_i$ ,请问这 $n$ 根木棍可以拼出来多少个不同的三角形。小蓝听了之后一脸懵逼,对这个问题毫无头绪,但是她不想在朋友面前没有面子,请你帮小蓝解决这个问题。
**注:对于两个三角形,如果他们的三个边存在至少一条边不是同一根木棍构成的则认为是不同的三角形。**
### 输入格式
第一行输入一个整数 $n$ ,代表木棍的数目。
第二行输入 $n$ 个整数 $a_1,a_2,...,a_n$ ,代表 $n$ 根木棍的长度。
### 输出格式
输出一行一个整数,代表三角形的数目。
### 样例输入
```txt
4
2 3 2 2
```
### 样例输出
```txt
4
```
### 说明
对于样例,我们选择 $[1,2,3],[1,2,4],[2,3,4]$ 均可构成三边为 $3,2,2$ 的等腰三角形。
我们选择 $[1,3,4]$ 可以构成边长为 $2$ 的等边三角形。所以可以构成 $4$ 个三角形。
### 评测数据规模
对于 $50$% 的评测数据 $3 \leq n \leq 5 \times 10^{2} , 1 \leq a[i] \leq 10^{4} $ 。
对于 $100$% 的评测数据 $3 \leq n \leq 2 \times 10 ^ {3} ,1 \leq a[i] \leq 10^{9} $ 。