Subsets of an array
// subsets of an array solution c++
#include <bits/stdc++.h>
using namespace std;
void solve(vector<int>&vec, int idx, vector<int>&sub, vector<vector<int>>&ans){
if(idx == vec.size()){
ans.push_back(sub);
return;
}
sub.push_back(vec[idx]);
solve(vec,idx+1,sub, ans);
sub.pop_back();
solve(vec,idx+1,sub, ans);
}
int main() {
int t; cin>>t;
while(t--){
int n; cin>>n;
vector<int>vec(n),sub;
vector<vector<int>>ans;
for(int i=0; i<n; i++){
cin>>vec[i];
}
sort(vec.begin(),vec.end());
solve(vec,0,sub,ans);
sort(ans.begin(),ans.end());
for(int i=0;i<ans.size();i++){
bool f=0;
for(int j=0;j<ans[i].size();j++){
f=1;
cout<<ans[i][j]<<" ";
}
if(f)cout<<endl;
}
ans.clear();
}
return 0;
}