// 1;
// 5 30;
// 1 2 3 4 5
#include <iostream>
#include <cstring>
#include <algorithm>
#include <vector>
#define fors(i, a, b) for(int i = a; i < b; i ++ )
using namespace std;
const int N = 110;
vector<int> q[N];
int n, m;
void work()
{
cin >> n >> m;
for(int i = 0; i < n; i ++ )
{
int x;
cin >> x;
// 注意每次记得清空
q[i].clear();
// 将每个数转化成二进制
for(int k = m - 1; k >= 0; k -- ){
q[i].push_back(x >> k & 1);
}
}
int cnt1 = 0, cnt0 = 0;
vector<int> res;
fors(i, 0, m) // row
{
cnt0 = 0, cnt1 = 0;
fors(j, 0, n) // col
{
if(q[j][i] == 0) cnt0 ++ ;
else cnt1 ++ ;
}
if(cnt0 >= cnt1) res.push_back(0);
else res.push_back(1);
}
int ans = 0;
for(int i = 0; i < res.size(); i ++ ) ans = ans*2 + res[i];
// 秦九韶算法, 将 b 进制转化成10进制, 有兴趣可以搜一下
cout << ans << endl;
}
int main()
{
int T;
cin >> T;
while(T -- ) work();
}