#include <iostream>
#include<bits/stdc++.h>
using namespace std;
int main() {
// your code goes here
int n;
cin>>n;
int a[n];
for(int i=0;i<n;i++){
cin>>a[i];
}
int subsets=pow(2,n);
vector<vector<int>>v;
for(int num=0;num<subsets;num++){
vector<int>temp;
for(int i=0;i<n;i++){
if(num&(1<<i)){
temp.push_back(a[i]);
}
}
v.push_back(temp);
}
sort(v.begin(),v.end());
for(int i=0;i<v.size();i++){
for(int j=0;j<v[i].size();j++){
cout<<v[i][j]<<" ";
}
cout<<"\n";
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZTxiaXRzL3N0ZGMrKy5oPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CgkvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCglpbnQgbjsKCWNpbj4+bjsKCWludCBhW25dOwoJZm9yKGludCBpPTA7aTxuO2krKyl7CgkJY2luPj5hW2ldOwoJfQoJaW50IHN1YnNldHM9cG93KDIsbik7Cgl2ZWN0b3I8dmVjdG9yPGludD4+djsKCWZvcihpbnQgbnVtPTA7bnVtPHN1YnNldHM7bnVtKyspewoJCSB2ZWN0b3I8aW50PnRlbXA7CgkJIGZvcihpbnQgaT0wO2k8bjtpKyspewoJCSAJIGlmKG51bSYoMTw8aSkpewoJCSAJIAl0ZW1wLnB1c2hfYmFjayhhW2ldKTsKCQkgCSB9CgkJIH0KCQkgdi5wdXNoX2JhY2sodGVtcCk7Cgl9Cglzb3J0KHYuYmVnaW4oKSx2LmVuZCgpKTsKCWZvcihpbnQgaT0wO2k8di5zaXplKCk7aSsrKXsKCQlmb3IoaW50IGo9MDtqPHZbaV0uc2l6ZSgpO2orKyl7CgkJCWNvdXQ8PHZbaV1bal08PCIgIjsKCQl9CgkJY291dDw8IlxuIjsKCX0KCXJldHVybiAwOwp9