给定一个长度为 n 的非负整数序列 a_1,a_2,\dots,a_n ,统计有多少对 (i,j)1≤i≤j≤n 并且
a_i ⊕ a_j 在十进制表示下是回文的,其中 ⊕ 表示按位异或操作。
例如,13⊕27=22,由于 22 从左到右读和从右到左读得到的字符串相同,因此 22 是一个回文数。
第一行一个整数 TT 表示数据组数。对于每组数据:
第一行一个整数 nn。
第二行 nn 个非负整数a_i。
对于每组数据,输出一行一个整数表示答案。
2 4 13 27 12 26 3 2 2 2
8 6
样例解释:
在第一组数据中,13 xor 13 = 0, 13 xor 27 = 22, 13 xor 12 = 1, 27 xor 27 = 0, 27 xor 26 = 1, 12 xor 12 = 0, 12 xor 26 = 22, 26 xor 26 = 0,共 8 对符合题意的 (i, j)。
在第二组数据中,任意的 1 <= i <= j <= n 都是符合题意的,共 6 对。
对于 30% 的数据,1\leq \sum n \leq 1000,0 \leq a_i \leq 2^{10}
对于 60% 的数据,1\leq \sum n \leq 2 \times 10^5,0 \leq a_i \leq 2^{10}
对于 100% 的数据,1\leq t \leq 100,1\leq \sum n \leq 2 \times 10^5,0 \leq a_i \leq 2^{15}