#include <algorithm>
#include <functional>
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> v = { 1, 8, 7, 4, 3, 6, 2, 5 };
partition(begin(v), end(v), bind(greater<int>(), placeholders::_1, 3));
for(const auto& i : v) cout << i << ' ';
}
I2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPGZ1bmN0aW9uYWw+CiNpbmNsdWRlIDxpb3N0cmVhbT4KI2luY2x1ZGUgPHZlY3Rvcj4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCXZlY3RvcjxpbnQ+IHYgPSB7IDEsIDgsIDcsIDQsIDMsIDYsIDIsIDUgfTsKCQoJcGFydGl0aW9uKGJlZ2luKHYpLCBlbmQodiksIGJpbmQoZ3JlYXRlcjxpbnQ+KCksIHBsYWNlaG9sZGVyczo6XzEsIDMpKTsKCQoJZm9yKGNvbnN0IGF1dG8mIGkgOiB2KSBjb3V0IDw8IGkgPDwgJyAnOwp9