#include <iostream>
#include <algorithm>
#include <cctype>
bool isPalindrome(const std::string &str) {
return std::equal(str.cbegin(),
str.cbegin() + (str.size() / 2),
str.crbegin(),
[](char c1, char c2) {
return (std::tolower(c1) == std::tolower(c2));
});
}
int main() {
std::cout << isPalindrome("kaJAk") << '\n'
<< isPalindrome("koBylaMAMalyBOk") << '\n'
<< isPalindrome("ala Ma KoTa") << '\n'
<< isPalindrome("aBBa") << '\n';
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8Y2N0eXBlPgoKYm9vbCBpc1BhbGluZHJvbWUoY29uc3Qgc3RkOjpzdHJpbmcgJnN0cikgewogIHJldHVybiBzdGQ6OmVxdWFsKHN0ci5jYmVnaW4oKSwKICAgICAgICAgICAgICAgICAgICBzdHIuY2JlZ2luKCkgKyAoc3RyLnNpemUoKSAvIDIpLAogICAgICAgICAgICAgICAgICAgIHN0ci5jcmJlZ2luKCksCiAgICAgICAgICAgICAgICAgICAgW10oY2hhciBjMSwgY2hhciBjMikgewogICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChzdGQ6OnRvbG93ZXIoYzEpID09IHN0ZDo6dG9sb3dlcihjMikpOwkKICAgICAgICAgICAgICAgICAgICB9KTsJCn0KCmludCBtYWluKCkgewogIHN0ZDo6Y291dCA8PCBpc1BhbGluZHJvbWUoImthSkFrIikgPDwgJ1xuJwogICAgICAgICAgICA8PCBpc1BhbGluZHJvbWUoImtvQnlsYU1BTWFseUJPayIpIDw8ICdcbicKICAgICAgICAgICAgPDwgaXNQYWxpbmRyb21lKCJhbGEgTWEgS29UYSIpIDw8ICdcbicKICAgICAgICAgICAgPDwgaXNQYWxpbmRyb21lKCJhQkJhIikgPDwgJ1xuJzsKfQ==