#abc175b. [abc175_b]Making Triangle

[abc175_b]Making Triangle

问题描述

我们有编号为1,,N1, \cdots, N的棍子。第ii个棍子(1iN)(1 \leq i \leq N)的长度为LiL_i

我们能以多少种方式选择三根长度不同的棍子以构成一个三角形?

也就是说,找到满足以下两个条件的整数三元组(i,j,k)(i, j, k) (1i<j<kN)(1 \leq i < j < k \leq N) 的数量:

  • LiL_iLjL_jLkL_k均不相同。
  • 存在一条边长为LiL_iLjL_jLkL_k的三角形。

约束条件

  • 1N1001 \leq N \leq 100
  • 1Li1091 \leq L_i \leq 10^9
  • 输入中的所有值均为整数。

输入

输入以以下格式从标准输入给出:

NN L1L_1 L2L_2 \cdots LNL_N

输出

打印能够选择三根长度不同的棍子以构成一个三角形的方式数。


示例输入1

5
4 4 9 7 5

示例输出1

5

以下五个满足条件的三元组(i,j,k)(i, j, k)(1,3,4)(1, 3, 4)(1,4,5)(1, 4, 5)(2,3,4)(2, 3, 4)(2,4,5)(2, 4, 5)(3,4,5)(3, 4, 5)


示例输入2

6
4 5 4 3 3 5

示例输出2

8

对于长度为334455的每个数量为22的棍子,为满足第一个条件,我们必须选择其中一个。

存在一条边长为334455的三角形,因此有23=82 ^ 3 = 8个满足条件的三元组(i,j,k)(i, j, k)


示例输入3

10
9 4 6 1 9 6 10 6 6 8

示例输出3

39

示例输入4

2
1 1

示例输出4

0

没有满足条件1i<j<kN1 \leq i < j < k \leq N的三元组(i,j,k)(i, j, k),因此我们应该输出00