#include <iostream>
#include <map>
#include <string>
using namespace std;
int main ()
{
std::map<char,int> mymap;
mymap['a']=10;
mymap['b']=20;
mymap['d']=40;
mymap['e']=50;
for (auto ch : string("@abcdef")) {
map<char,int>::const_iterator iter = mymap.lower_bound(ch);
if (iter->first == ch || iter != mymap.begin()) {
if (iter->first != ch) --iter;
cerr << ch << ":" << iter->second << endl;
} else {
cerr << ch << ":" << "<default>" << endl;
}
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bWFwPgojaW5jbHVkZSA8c3RyaW5nPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4gKCkKewogIHN0ZDo6bWFwPGNoYXIsaW50PiBteW1hcDsKCiAgbXltYXBbJ2EnXT0xMDsKICBteW1hcFsnYiddPTIwOwogIG15bWFwWydkJ109NDA7CiAgbXltYXBbJ2UnXT01MDsKCiAgICBmb3IgKGF1dG8gY2ggOiBzdHJpbmcoIkBhYmNkZWYiKSkgewogICAgbWFwPGNoYXIsaW50Pjo6Y29uc3RfaXRlcmF0b3IgaXRlciA9IG15bWFwLmxvd2VyX2JvdW5kKGNoKTsKICAgICAgICBpZiAoaXRlci0+Zmlyc3QgPT0gY2ggfHwgaXRlciAhPSBteW1hcC5iZWdpbigpKSB7CiAgICAgICAgICAgIGlmIChpdGVyLT5maXJzdCAhPSBjaCkgLS1pdGVyOwogICAgICAgICAgICBjZXJyIDw8IGNoIDw8ICI6IiA8PCBpdGVyLT5zZWNvbmQgPDwgZW5kbDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBjZXJyIDw8IGNoIDw8ICI6IiA8PCAiPGRlZmF1bHQ+IiA8PCBlbmRsOwogICAgICAgIH0KICAgIH0KfQ==