#include <iostream>
#include <string>
#include <set>
using namespace std;
bool lexical_compare(int a, int b) {
return to_string(a) < to_string(b);
};
using specific_set = set<int, decltype(lexical_compare)*>;
int main() {
specific_set s(lexical_compare);
s.insert(1);
s.insert(10);
s.insert(11);
s.insert(100);
for (int x : s) {
cout << x << ' ';
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8c2V0Pgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKYm9vbCBsZXhpY2FsX2NvbXBhcmUoaW50IGEsIGludCBiKSB7CiAgICByZXR1cm4gdG9fc3RyaW5nKGEpIDwgdG9fc3RyaW5nKGIpOwp9Owp1c2luZyBzcGVjaWZpY19zZXQgPSBzZXQ8aW50LCBkZWNsdHlwZShsZXhpY2FsX2NvbXBhcmUpKj47CmludCBtYWluKCkgewogICAgc3BlY2lmaWNfc2V0IHMobGV4aWNhbF9jb21wYXJlKTsKIAogICAgcy5pbnNlcnQoMSk7CiAgICBzLmluc2VydCgxMCk7CiAgICBzLmluc2VydCgxMSk7CiAgICBzLmluc2VydCgxMDApOwogCiAgICBmb3IgKGludCB4IDogcykgewogICAgICAgIGNvdXQgPDwgeCA8PCAnICc7CiAgICB9CiAKICAgIHJldHVybiAwOwp9