#1737. 音符

音符

题目描述

Jane 是多种音乐的忠实粉丝。但他不仅喜欢听音乐,还喜欢创作音乐。他最喜欢电子音乐,所以他创建了自己的音符系统,在他看来,这是最适合电子音乐的系统。

由于 Jane 也喜欢信息学,因此在他的系统中,音符用整数 2k2^k 表示,其中 k1k \ge 1 是一个正整数。但是,如你所知,你不能仅使用单个音符来创作音乐,因此 Jane 使用两个音符的组合。两个音符 (a,b)(a,b) 的组合(其中 a=2ka=2^kb=2lb=2^l),他用整数 aba^b 来表示。

例如,如果 a=8=23a=8=2^3b=4=22b=4=2^2,则组合 (a,b)(a,b) 的值由整数 ab=84=4096a^b=8^4=4096 表示。请注意,不同的组合可以具有相同的值,例如,组合 (64,2)(64,2) 也由整数 642=409664^2=4096 表示。

Jane 已经选择了他想要在新旋律中使用的 nn 个音符。然而,由于它们对应的值可能非常大,所以他将它们写为长度为 nn 的数组 aa,那么第 ii 个音符就是 bi=2aib_i=2^{a_i}。数组 aa 中的整数可以重复。

旋律将由两个音符的几种组合组成。Jane 想知道有多少对音符 bi,bjb_i, b_j (i<ji < j) 使得组合 (bi,bj)(b_i, b_j) 的值等于组合 (bj,bi)(b_j, b_i) 的值。换句话说,他想要计算满足 bibj=bjbib_i^{b_j} = b_j^{b_i} 的数对 (i,j)(i,j) (i<ji < j) 的数量。

请帮助他找出满足该条件的数对的数量。

输入

第一行包含一个整数 tt (1t1041 \le t \le 10^4) — 测试用例的数量。

每个测试用例的第一行包含一个整数 nn (1n21051 \le n \le 2 \cdot 10^5) — 数组的长度。

下一行包含 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n (1ai1091 \le a_i \le 10^9) — 数组 aa

保证所有测试用例中 nn 的总和不超过 21052 \cdot 10^5

输出

对于每个测试用例,输出满足给定条件的数对的数量。

样例

输入样例

5
1
2
4
3 1 3 2
2
1000 1000
3
1 1 1
19
2 4 1 6 2 8 5 4 2 10 5 10 8 7 4 3 2 6 10

输出样例

0
2
1
3
19

限制

每次测试时间限制: 1 秒
每个测试的内存限制: 256 MB
输入: 标准输入
输出: 标准输出