#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
void inspect(vector<int> xs) {
for(int x : (xs)) {
cout << x << ", ";
}
cout << endl;
}
vector<int> quicksort(vector<int> list) {
if(list.size() < 2) return list;
vector<int> xs{list.at(0)}, ys;
for_each(++list.begin(), list.end(), [&](int elem) {(elem < list.at(0) ? xs : ys).insert((elem < list.at(0) ? xs : ys).begin(), elem);});
auto rs = quicksort(xs), ts = quicksort(ys);
rs.insert(rs.end(), ts.begin(), ts.end());
return rs;
}
int main(int argc, char** args) {
vector<int> xs {2,3,1,2,5,6,9,8,1,2,3,1};
inspect(quicksort(xs));
return 0;
}