import java.io.*;
import java.util.*;
class Solution {
static class Fast {
}
return (st.
hasMoreElements() ? st.
nextToken() : (st
= new StringTokenizer(br.
readLine())).
nextToken()); }
}
return Long.
parseLong(next
()); }
bw.write(s);
bw.flush();
}
}
Fast f=new Fast();
int t=f.nextInt();
while(t--!=0){
int n=f.nextInt();
int arr[]=new int[n];
int max=0;
for(int i=0;i<n;i++)
{
arr[i]=f.nextInt();
if(arr[i]<0){
int bilen
=Integer.
toBinaryString(-arr
[i
]).
length(); arr[i]=(((1<<2)-1)&arr[i]);
}
max=arr[i]>max?arr[i]:max;
}
int size
=Integer.
toBinaryString(max
).
length(); ArrayList<Integer> list=new ArrayList<>();
for(int i=0;i<size;i++)
{
int count=0;
for(int j=0;j<n;j++){
if(((arr[j]>>i)&1)==1)
{
count++;
}
}
// System.out.println(count);
list.add(count);
}
for(int i=list.size()-1;i>=0;i--){
f.print(list.get(i) + " ");
}
}
}
}
aW1wb3J0IGphdmEuaW8uKjsKaW1wb3J0IGphdmEudXRpbC4qOwoKY2xhc3MgU29sdXRpb24gewogICAgc3RhdGljIGNsYXNzIEZhc3QgewogICAgICAgIEJ1ZmZlcmVkUmVhZGVyIGJyOwogICAgICAgIFN0cmluZ1Rva2VuaXplciBzdDsKICAgICAgICBCdWZmZXJlZFdyaXRlciBidzsKCiAgICAgICAgRmFzdCgpIHRocm93cyBJT0V4Y2VwdGlvbiB7CiAgICAgICAgICAgIGJyID0gbmV3IEJ1ZmZlcmVkUmVhZGVyKG5ldyBJbnB1dFN0cmVhbVJlYWRlcihTeXN0ZW0uaW4pKTsKICAgICAgICAgICAgYncgPSBuZXcgQnVmZmVyZWRXcml0ZXIobmV3IE91dHB1dFN0cmVhbVdyaXRlcihTeXN0ZW0ub3V0KSk7CiAgICAgICAgICAgIHN0ID0gbmV3IFN0cmluZ1Rva2VuaXplcihici5yZWFkTGluZSgpKTsKCiAgICAgICAgfQoKICAgICAgICBTdHJpbmcgbmV4dCgpIHRocm93cyBJT0V4Y2VwdGlvbiB7CiAgICAgICAgICAgIHJldHVybiAoc3QuaGFzTW9yZUVsZW1lbnRzKCkgPyBzdC5uZXh0VG9rZW4oKSA6IChzdCA9IG5ldyBTdHJpbmdUb2tlbml6ZXIoYnIucmVhZExpbmUoKSkpLm5leHRUb2tlbigpKTsKICAgICAgICB9CgogICAgICAgIGludCBuZXh0SW50KCkgdGhyb3dzIElPRXhjZXB0aW9uIHsKICAgICAgICAgICAgcmV0dXJuIEludGVnZXIucGFyc2VJbnQobmV4dCgpKTsKICAgICAgICB9CgogICAgICAgIGxvbmcgbmV4dExvbmcoKSB0aHJvd3MgSU9FeGNlcHRpb24gewogICAgICAgICAgICByZXR1cm4gTG9uZy5wYXJzZUxvbmcobmV4dCgpKTsKICAgICAgICB9CgogICAgICAgIHZvaWQgcHJpbnQoT2JqZWN0IG8pIHRocm93cyBJT0V4Y2VwdGlvbiB7CiAgICAgICAgICAgIFN0cmluZyBzID0gU3RyaW5nLnZhbHVlT2Yobyk7CiAgICAgICAgICAgIGJ3LndyaXRlKHMpOwogICAgICAgICAgICBidy5mbHVzaCgpOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmcgYXJnc1tdKSB0aHJvd3MgSU9FeGNlcHRpb24gewogICAgICAgIEZhc3QgZj1uZXcgRmFzdCgpOwogICAgICAgIGludCB0PWYubmV4dEludCgpOwogICAgICAgIHdoaWxlKHQtLSE9MCl7CiAgICAgICAgICAgIGludCBuPWYubmV4dEludCgpOwogICAgICAgICAgICBpbnQgYXJyW109bmV3IGludFtuXTsKICAgICAgICAgICAgaW50IG1heD0wOwogICAgICAgICAgICBmb3IoaW50IGk9MDtpPG47aSsrKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBhcnJbaV09Zi5uZXh0SW50KCk7CiAgICAgICAgICAgICAgICBpZihhcnJbaV08MCl7CiAgICAgICAgICAgICAgICAgICAgaW50IGJpbGVuPUludGVnZXIudG9CaW5hcnlTdHJpbmcoLWFycltpXSkubGVuZ3RoKCk7CiAgICAgICAgICAgICAgICAgICAgYXJyW2ldPSgoKDE8PDIpLTEpJmFycltpXSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBtYXg9YXJyW2ldPm1heD9hcnJbaV06bWF4OwogICAgICAgICAgICB9CiAgICAgICAgICAgIGludCBzaXplPUludGVnZXIudG9CaW5hcnlTdHJpbmcobWF4KS5sZW5ndGgoKTsKICAgICAgICAgICAgQXJyYXlMaXN0PEludGVnZXI+IGxpc3Q9bmV3IEFycmF5TGlzdDw+KCk7CiAgICAgICAgICAgIGZvcihpbnQgaT0wO2k8c2l6ZTtpKyspCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGludCBjb3VudD0wOwogICAgICAgICAgICAgICAgZm9yKGludCBqPTA7ajxuO2orKyl7CiAgICAgICAgICAgICAgICAgICAgaWYoKChhcnJbal0+PmkpJjEpPT0xKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgY291bnQrKzsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAvLyBTeXN0ZW0ub3V0LnByaW50bG4oY291bnQpOwogICAgICAgICAgICAgICAgbGlzdC5hZGQoY291bnQpOwogICAgICAgIH0KICAgICAgICBmb3IoaW50IGk9bGlzdC5zaXplKCktMTtpPj0wO2ktLSl7CiAgICAgICAgICAgIGYucHJpbnQobGlzdC5nZXQoaSkgKyAiICIpOwogICAgICAgIH0KICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oKTsKICAgIH0KfQp9