#include <cstdio>
#include <vector>
using namespace std;

const int MAXN = 1048576;
long long solve(vector<int> &contain)
{
	if(contain.size()==1)
		return 1LL*contain[0]*contain[0];
	
	vector<int> halved(contain.size()/2);
	for(int i=0;i<contain.size()/2;i++)
		halved[i]=contain[i+contain.size()/2];
	long long ans = -solve(halved);
	
	for(int i=0;i<contain.size()/2;i++)
		halved[i]+=contain[i];
	ans+=solve(halved);
	
	return ans;
}
void tmain()
{
	int N;
	vector<int> contain(MAXN);
	scanf("%d",&N);
	for(int i=0;i<N;i++)
	{
		int t;
		scanf("%d",&t);
		contain[t]++;
	}
	printf("%lld\n",solve(contain));
}
int main()
{
	int T;
	scanf("%d",&T);
	while(T--)
		tmain();
	return 0;
}