#include <iostream>
#include <vector>
#include <algorithm>
#include <numeric>
using namespace std;
int main()
{
int n = 5;
vector<int> v(n);
iota(v.begin(), v.end(), 1);
int k = 2;
vector<int> mask(v.size());
fill_n(mask.begin(), k, 1);
do
{
for (int i = 0; i < mask.size(); ++i)
{
if (mask[i]) { cout << v[i] << " "; }
}
cout << "\n";
}
while(prev_permutation(mask.begin(), mask.end()));
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8bnVtZXJpYz4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkgCnsKCWludCBuID0gNTsKCXZlY3RvcjxpbnQ+IHYobik7Cglpb3RhKHYuYmVnaW4oKSwgdi5lbmQoKSwgMSk7CgkKCWludCBrID0gMjsKCXZlY3RvcjxpbnQ+IG1hc2sodi5zaXplKCkpOwoJZmlsbF9uKG1hc2suYmVnaW4oKSwgaywgMSk7CgkKCWRvIAoJewoJCWZvciAoaW50IGkgPSAwOyBpIDwgbWFzay5zaXplKCk7ICsraSkKCQl7CgkJCWlmIChtYXNrW2ldKSB7IGNvdXQgPDwgdltpXSA8PCAiICI7IH0KCQl9CgkJY291dCA8PCAiXG4iOwoJfSAKCXdoaWxlKHByZXZfcGVybXV0YXRpb24obWFzay5iZWdpbigpLCBtYXNrLmVuZCgpKSk7Cn0=