#include using namespace std; using uint = unsigned int; int main(){ ios::sync_with_stdio(false); cin.tie(0); uint T; cin >> T; while(T--){ uint n, m; cin >> n >> m; vector a(n); for(auto &&v : a) cin >> v; uint S = (1 << m) - 1, d = n - m; if(n > m){ vector b(m); for(int i = 0; i < m; i++){ for(int j = 0; j <= d; j++){ b[i] ^= ((d & j) == j ? a[i + j] & 1 : 0); } } swap(a, b); } while(a.size() >= 2){ for(int i = 0; i + 1 < a.size(); i++){ a[i] = (a[i] + a[i + 1]) * (a[i] + a[i + 1]) & S; } a.pop_back(); } cout << a[0] << '\n'; } }