#include <iostream>
#include <algorithm>
int main()
{
int arr[] = {4, 7, 3, 5, 6, 2, 9, 1, 10, 8};
for(int value: arr)
std::cout << value << ' ';
std::cout << std::endl;
std::stable_partition(arr, arr+10, [&arr](int a){ return (a < arr[0]); });
for(int value: arr)
std::cout << value << ' ';
std::cout << std::endl;
return 0;
}
ICAgICNpbmNsdWRlIDxpb3N0cmVhbT4KICAgICNpbmNsdWRlIDxhbGdvcml0aG0+CiAgICAKICAgIGludCBtYWluKCkKICAgIHsKICAgIAlpbnQgYXJyW10gPSB7NCwgNywgMywgNSwgNiwgMiwgOSwgMSwgMTAsIDh9OwogICAgCiAgICAJZm9yKGludCB2YWx1ZTogYXJyKQogICAgCQlzdGQ6OmNvdXQgPDwgdmFsdWUgPDwgJyAnOwogICAgCXN0ZDo6Y291dCA8PCBzdGQ6OmVuZGw7CiAgICAKICAgIAlzdGQ6OnN0YWJsZV9wYXJ0aXRpb24oYXJyLCBhcnIrMTAsIFsmYXJyXShpbnQgYSl7IHJldHVybiAoYSA8IGFyclswXSk7IH0pOwogICAgCiAgICAJZm9yKGludCB2YWx1ZTogYXJyKQogICAgCQlzdGQ6OmNvdXQgPDwgdmFsdWUgPDwgJyAnOwogICAgCXN0ZDo6Y291dCA8PCBzdGQ6OmVuZGw7CiAgICAKICAgIAlyZXR1cm4gMDsKICAgIH0=