#include <iostream>
#include <algorithm>
#include <iterator>
using namespace std;
int main() {
int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
auto mid = std::partition(begin(arr), end(arr), [](int x){ return x%2;});
auto out = ostream_iterator<int>(cout, ", ");
cout << "odds: ";
copy(begin(arr), mid, out);
cout << "\nevens: ";
copy(mid, end(arr), out);
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8aXRlcmF0b3I+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCWludCBhcnJbXSA9IHsxLCAyLCAzLCA0LCA1LCA2LCA3LCA4LCA5fTsKCglhdXRvIG1pZCA9IHN0ZDo6cGFydGl0aW9uKGJlZ2luKGFyciksIGVuZChhcnIpLCBbXShpbnQgeCl7IHJldHVybiB4JTI7fSk7CgoJYXV0byBvdXQgPSBvc3RyZWFtX2l0ZXJhdG9yPGludD4oY291dCwgIiwgIik7Cgljb3V0IDw8ICJvZGRzOiAiOwogCWNvcHkoYmVnaW4oYXJyKSwgbWlkLCBvdXQpOwogCWNvdXQgPDwgIlxuZXZlbnM6ICI7CiAJY29weShtaWQsIGVuZChhcnIpLCBvdXQpOwp9