#include <iostream>
#include <vector>
using namespace std;
int main()
{
// your code goes here
vector <int> v;
for(int i = 1; i < 6; i++)
v.push_back(i);
cout << "Empty Set" << endl;
for (uint32_t mask =1; mask < (1<<v.size()); ++mask)
{
std::vector<int>::const_iterator it = v.begin();
for (uint32_t m =mask; m; (m>>=1), ++it)
{
if (m&1) std::cout << *it << " ";
}
std::cout << std::endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKCmludCBtYWluKCkKewoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJdmVjdG9yIDxpbnQ+IHY7Cglmb3IoaW50IGkgPSAxOyBpIDwgNjsgaSsrKQogICAgICAgIHYucHVzaF9iYWNrKGkpOwoJY291dCA8PCAiRW1wdHkgU2V0IiA8PCBlbmRsOwogICAgZm9yICh1aW50MzJfdCBtYXNrID0xOyBtYXNrIDwgKDE8PHYuc2l6ZSgpKTsgKyttYXNrKQogICAgewogICAgICAgIHN0ZDo6dmVjdG9yPGludD46OmNvbnN0X2l0ZXJhdG9yIGl0ID0gdi5iZWdpbigpOwogICAgICAgIGZvciAodWludDMyX3QgbSA9bWFzazsgbTsgKG0+Pj0xKSwgKytpdCkKICAgICAgICB7CiAgICAgICAgICAgIGlmIChtJjEpIHN0ZDo6Y291dCA8PCAqaXQgPDwgIiAiOwogICAgICAgIH0KICAgICAgICBzdGQ6OmNvdXQgPDwgc3RkOjplbmRsOwogICAgfQoJcmV0dXJuIDA7Cn0K