#include <iostream>
#include <algorithm>
using namespace std;
int main() {
// your code goes here
std::string s = "Have you seen the new Ssang Yong?";
auto comparator = [](const char left, const char right) {
bool isEqual = std::tolower(left) == std::tolower(right);
bool isLeftConverted = left == std::tolower(left);
bool isRightConverted = right == std::tolower(right);
return isEqual && (isLeftConverted ^ isRightConverted);
};
for (auto it = std::adjacent_find(s.begin(), s.end(), comparator);
it != s.end();
it = adjacent_find(it, s.end(), comparator))
{
it = s.erase(it, std::next(it, 2));
}
std::cout << s;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkgewoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJc3RkOjpzdHJpbmcgcyA9ICJIYXZlIHlvdSBzZWVuIHRoZSBuZXcgU3NhbmcgWW9uZz8iOwoJCglhdXRvIGNvbXBhcmF0b3IgPSBbXShjb25zdCBjaGFyIGxlZnQsIGNvbnN0IGNoYXIgcmlnaHQpIHsKCQlib29sIGlzRXF1YWwgPSBzdGQ6OnRvbG93ZXIobGVmdCkgPT0gc3RkOjp0b2xvd2VyKHJpZ2h0KTsKCQlib29sIGlzTGVmdENvbnZlcnRlZCA9IGxlZnQgPT0gc3RkOjp0b2xvd2VyKGxlZnQpOwoJCWJvb2wgaXNSaWdodENvbnZlcnRlZCA9IHJpZ2h0ID09IHN0ZDo6dG9sb3dlcihyaWdodCk7CgkJcmV0dXJuIGlzRXF1YWwgJiYgKGlzTGVmdENvbnZlcnRlZCBeIGlzUmlnaHRDb252ZXJ0ZWQpOwoJfTsKCQoJZm9yIChhdXRvIGl0ID0gc3RkOjphZGphY2VudF9maW5kKHMuYmVnaW4oKSwgcy5lbmQoKSwgY29tcGFyYXRvcik7IAoJICAgICBpdCAhPSBzLmVuZCgpOyAKCSAgICAgaXQgPSBhZGphY2VudF9maW5kKGl0LCBzLmVuZCgpLCBjb21wYXJhdG9yKSkKCXsKCQlpdCA9IHMuZXJhc2UoaXQsIHN0ZDo6bmV4dChpdCwgMikpOwoJCQoJfQoJc3RkOjpjb3V0IDw8IHM7CglyZXR1cm4gMDsKfQ==