#include <iostream>
#include <string>
#include <set>
using namespace std;
struct lexical_compare {
bool operator() (int a, int b) const {
//return to_string(a) > to_string(b);
return a > b;
}
};
int main() {
set<int, lexical_compare> s;
s.insert(1);
s.insert(10);
s.insert(11);
s.insert(100);
for (int x : s)
cout << x << ' ';
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8c2V0Pgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKc3RydWN0IGxleGljYWxfY29tcGFyZSB7Cglib29sIG9wZXJhdG9yKCkgKGludCBhLCBpbnQgYikgY29uc3QgewoJCS8vcmV0dXJuIHRvX3N0cmluZyhhKSA+IHRvX3N0cmluZyhiKTsKCQlyZXR1cm4gYSA+IGI7Cgl9Cn07CgppbnQgbWFpbigpIHsKICAgIHNldDxpbnQsIGxleGljYWxfY29tcGFyZT4gczsKIAogICAgcy5pbnNlcnQoMSk7CiAgICBzLmluc2VydCgxMCk7CiAgICBzLmluc2VydCgxMSk7CiAgICBzLmluc2VydCgxMDApOwogCiAgICBmb3IgKGludCB4IDogcykKICAgICAgICBjb3V0IDw8IHggPDwgJyAnOwogCiAgICByZXR1cm4gMDsKfQ==