#include <bits/stdc++.h>
using namespace std;
void combination(vector<int> comb, deque<int> numbers) {
if (numbers.empty()) {
for (unsigned int i = 0; i < comb.size(); i++) {
cout << comb[i] << " ";
}
cout << "\n";
return;
}
comb.push_back(numbers.front());
numbers.pop_front();
combination(comb, numbers);
comb.pop_back();
combination(comb, numbers);
}
int main() {
// your code goes here
vector<int> comb;
deque<int> numbers;
for(int i = 0;i < 7;i++) numbers.push_back(i);
combination(comb, numbers);
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp2b2lkIGNvbWJpbmF0aW9uKHZlY3RvcjxpbnQ+IGNvbWIsIGRlcXVlPGludD4gbnVtYmVycykgewoKICAgIGlmIChudW1iZXJzLmVtcHR5KCkpIHsKICAgICAgICBmb3IgKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IGNvbWIuc2l6ZSgpOyBpKyspIHsKICAgICAgICAgICAgY291dCA8PCBjb21iW2ldIDw8ICIgIjsKICAgICAgICB9CiAgICAgICAgY291dCA8PCAiXG4iOwogICAgICAgIHJldHVybjsKICAgIH0KCQogICAgY29tYi5wdXNoX2JhY2sobnVtYmVycy5mcm9udCgpKTsKICAgIG51bWJlcnMucG9wX2Zyb250KCk7CiAgICBjb21iaW5hdGlvbihjb21iLCBudW1iZXJzKTsKICAgIGNvbWIucG9wX2JhY2soKTsKICAgIGNvbWJpbmF0aW9uKGNvbWIsIG51bWJlcnMpOwp9CgppbnQgbWFpbigpIHsKCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCXZlY3RvcjxpbnQ+IGNvbWI7CglkZXF1ZTxpbnQ+IG51bWJlcnM7Cglmb3IoaW50IGkgPSAwO2kgPCA3O2krKykgbnVtYmVycy5wdXNoX2JhY2soaSk7Cgljb21iaW5hdGlvbihjb21iLCBudW1iZXJzKTsKCXJldHVybiAwOwp9