#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main() {
int n = 7, r = 3;
vector<int> row {40, 40, 40, 50, 50, 60, 100};
vector<bool> v(n);
fill(v.begin() + n - r, v.end(), true);
do {
for (int i = 0; i < n; ++i) {
if (v[i]) {
cout << row[i] << " ";
}
}
cout << "\n";
} while (next_permutation(v.begin(), v.end()));
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8dmVjdG9yPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkgewogICAgaW50IG4gPSA3LCByID0gMzsKCXZlY3RvcjxpbnQ+IHJvdyB7NDAsIDQwLCA0MCwgNTAsIDUwLCA2MCwgMTAwfTsKICAgIHZlY3Rvcjxib29sPiB2KG4pOwogICAgZmlsbCh2LmJlZ2luKCkgKyBuIC0gciwgdi5lbmQoKSwgdHJ1ZSk7CgogICAgZG8gewogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgKytpKSB7CiAgICAgICAgICAgIGlmICh2W2ldKSB7CiAgICAgICAgICAgICAgICBjb3V0IDw8IHJvd1tpXSA8PCAiICI7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY291dCA8PCAiXG4iOwogICAgfSB3aGlsZSAobmV4dF9wZXJtdXRhdGlvbih2LmJlZ2luKCksIHYuZW5kKCkpKTsKICAgIHJldHVybiAwOwp9