#include <list>
#include <iostream>
struct A {
A(int i=0) : i(i) { }
bool operator<(A& a) { a.i=-100; return i < a.i; }
int i;
};
int main()
{
std::list<A> l;
l.push_back(A(1));
l.push_back(A(0));
l.sort();
for(auto item : l)
std::cout << item.i << std::endl;
}
I2luY2x1ZGUgPGxpc3Q+CiNpbmNsdWRlIDxpb3N0cmVhbT4KCnN0cnVjdCBBIHsKICBBKGludCBpPTApIDogaShpKSB7IH0KICBib29sIG9wZXJhdG9yPChBJiBhKSB7IGEuaT0tMTAwOyByZXR1cm4gaSA8IGEuaTsgfQogIGludCBpOwp9OwoKaW50IG1haW4oKQp7CiAgc3RkOjpsaXN0PEE+IGw7CiAgbC5wdXNoX2JhY2soQSgxKSk7CiAgbC5wdXNoX2JhY2soQSgwKSk7CiAgbC5zb3J0KCk7CiAgZm9yKGF1dG8gaXRlbSA6IGwpCiAgICBzdGQ6OmNvdXQgPDwgaXRlbS5pIDw8IHN0ZDo6ZW5kbDsKfQ==