#P1559. 三元组(triple)

三元组(triple)

题目描述

小 C 有一个长度为 nn 的序列 AA

小 C 认为一个三元组 (i,j,k)(ij,ik,jk)(i,j,k)(i\ne j,i\ne k,j\ne k) 是好的,当且仅当存在正整数 bb 满足 AjAi=AkAj=b\frac{A_j}{A_i}=\frac{A_k}{A_j}=b

小 C 想要知道对于序列 AA 而言有多少个好的三元组?

输入格式

输入的第一行包含一个整数 nn

接下来一行包含 nn 个整数,第 ii 个整数表示 AiA_i

输出格式

输出共一行,包含一个整数,表示好的三元组个数。

样例输入 #1

3
6 2 18

样例输出 #1

1

样例输入 #2

5
1 2 7 7 7

样例输出 #2

6

数据范围

样例 1 解释

只有三元组 (2,1,3)(2,1,3) 是好的。

  • 对于 20%20\% 的数据,保证 n500n \le 500
  • 对于 40%40\% 的数据,保证 n5000n \le 5000
  • 对于另 20%20\% 的数据,保证 maxAi5000\max A_i \le 5000
  • 对于另 20%20\% 的数据,保证 maxAi106\max A_i \le 10^6
  • 对于 100%100\% 的数据,保证 1n1051\le n\le 10^51Ai1091\le A_i\le 10^{9}