不是,哥们
时间限制:C/C++/Rust/Pascal 3秒,其他语言6秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述



如下图,我们可以用一条曲线画出这个虾,我们称为“不是哥们曲线”



若 $(x, y)$ 满足 $y ^ 2 = kx, k \in Z$,我们称 $x, y$ 是“不是哥们”的。

给定一个长度为 $n$ 的数组 $a$,计算有多少二元组 $(a_j, a_i)$ $(1 \le i < j \le n)$ 是“不是哥们”的。

形式化的,求

$$\sum_{i = 1} ^ {n}\sum_{j = i + 1} ^ {n}[a_j \mid a_i ^ 2]$$

输入描述:

输入的第一行包含一个正整数  (1 \le n \le 10 ^ 5)

输入的第二行包含 n 个正整数 a_i (1 \le a_i \le 10 ^ 6)

输出描述:

输出答案。
示例1

输入

复制
5
9 4 3 2 1

输出

复制
6