#include <iostream>
#include <map>
int main() {
std::map<int, int> m;
m[1] = 1;
m[2] = 2;
// m[3] = 3;
m[4] = 4;
m[5] = 5;
auto val = 3;
auto next = m.upper_bound(val);
if (next != std::begin(m)) {
auto cur = prev(next);
std::cout << cur->first << std::endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bWFwPgoKaW50IG1haW4oKSB7CglzdGQ6Om1hcDxpbnQsIGludD4gbTsKCW1bMV0gPSAxOwoJbVsyXSA9IDI7CgkvLyBtWzNdID0gMzsKCW1bNF0gPSA0OwoJbVs1XSA9IDU7CgkKCWF1dG8gdmFsID0gMzsKCWF1dG8gbmV4dCA9IG0udXBwZXJfYm91bmQodmFsKTsKCWlmIChuZXh0ICE9IHN0ZDo6YmVnaW4obSkpIHsKCQlhdXRvIGN1ciA9IHByZXYobmV4dCk7CgkJCgkJc3RkOjpjb3V0IDw8IGN1ci0+Zmlyc3QgPDwgc3RkOjplbmRsOwoJfQoJCglyZXR1cm4gMDsKfQ==