ZYB loves Xor I

Accepts: 142
Submissions: 696
Time Limit: 2000/1000 MS (Java/Others)
Memory Limit: 65536/65536 K (Java/Others)
问题描述
ZYB喜欢研究Xor,现在他得到了一个长度为$n$的数组A。于是他想知道:对于所有数对$(i,j)(i \in [1,n],j \in [1,n])$,$lowbit(A_i xor A_j)$之和为多少.由于答案可能过大,你需要输出答案对998244353取模后的值
定义lowbit(x)=$2^k$,其中k是最小的满足($x$ $and$ $2^k)>0$的数
特别地:lowbit(0)=0
输入描述
一共$T$($T \leq 10$)组数据,对于每组数据:
第一行一个正整数$n$,表示数组长度
第二行$n$个非负整数,第$i$个整数为$A_{i}$
$n \in [1,5*10^4]$,$A_i \in [0,2^{29}]$
输出描述
每组数据输出一行Case #x: ans。x表示组数编号,从1开始。ans为所求值。
输入样例
2
5
4 0 2 7 0
5
2 6 5 4 0
输出样例
Case #1: 36
Case #2: 40