#include<bits/stdc++.h>
using namespace std;
int n, x, a[25], ok;
vector<string> ans;
vector<int> v;
void Try(int i, int sum) {
if(sum>x) return;
if(sum==x) {
string s="{";
for(int i=0; i<v.size()-1; i++) s+=to_string(v[i])+" ";
s+=to_string(v.back())+"}";
ans.push_back(s);
ok=1;
}
for(int j=i; j<n; j++) {
v.push_back(a[j]);
Try(j,sum+a[j]);
v.pop_back();
}
}
main() {
int t;
cin >> t;
while(t--) {
cin >> n >> x;
for(int i=0; i<n; i++) cin >> a[i];
ok=0;
Try(0,0);
if(!ok) cout << "-1";
else {
cout << ans.size() << " ";
for(int i=0; i<ans.size(); i++) cout << ans[i] <<" ";
}
cout << endl;
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IG4sIHgsIGFbMjVdLCBvazsKdmVjdG9yPHN0cmluZz4gYW5zOwp2ZWN0b3I8aW50PiB2Owp2b2lkIFRyeShpbnQgaSwgaW50IHN1bSkgewoJaWYoc3VtPngpIHJldHVybjsKCWlmKHN1bT09eCkgewoJCXN0cmluZyBzPSJ7IjsKCQlmb3IoaW50IGk9MDsgaTx2LnNpemUoKS0xOyBpKyspIHMrPXRvX3N0cmluZyh2W2ldKSsiICI7CgkJcys9dG9fc3RyaW5nKHYuYmFjaygpKSsifSI7CgkJYW5zLnB1c2hfYmFjayhzKTsgIAoJCW9rPTE7Cgl9Cglmb3IoaW50IGo9aTsgajxuOyBqKyspIHsKCQl2LnB1c2hfYmFjayhhW2pdKTsKCQlUcnkoaixzdW0rYVtqXSk7CgkJdi5wb3BfYmFjaygpOwoJfQp9Cm1haW4oKSB7CglpbnQgdDsKCWNpbiA+PiB0OwoJd2hpbGUodC0tKSB7CgkJY2luID4+IG4gPj4geDsKCQlmb3IoaW50IGk9MDsgaTxuOyBpKyspIGNpbiA+PiBhW2ldOwoJCW9rPTA7CgkJVHJ5KDAsMCk7CgkJaWYoIW9rKSBjb3V0IDw8ICItMSI7CgkJZWxzZSB7CgkJCWNvdXQgPDwgYW5zLnNpemUoKSA8PCAiICI7CgkJCWZvcihpbnQgaT0wOyBpPGFucy5zaXplKCk7IGkrKykgY291dCA8PCBhbnNbaV0gPDwiICI7CgkJfQoJCWNvdXQgPDwgZW5kbDsKCX0KfQ==