#include <iostream>
#include <string>
#include <algorithm>
std::string Rename(const std::string& name){
std::string newName(name);
static const std::string oldSuffix = "nef";
static const std::string newSuffix = "bmp";
auto dotPos = newName.rfind('.');
if (dotPos == newName.size() - oldSuffix.size() - 1){
auto suffix = newName.substr(dotPos + 1);
std::transform(suffix.begin(), suffix.end(), suffix.begin(), ::tolower);
if (suffix == oldSuffix)
newName.replace(dotPos + 1, std::string::npos, newSuffix);
}
return newName;
}
int main() {
std::cout << Rename("abc.net.nef") << std::endl;
std::cout << Rename("abc.nEF") << std::endl;
std::cout << Rename("def.not-nef") << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8YWxnb3JpdGhtPgoKc3RkOjpzdHJpbmcgUmVuYW1lKGNvbnN0IHN0ZDo6c3RyaW5nJiBuYW1lKXsKCXN0ZDo6c3RyaW5nIG5ld05hbWUobmFtZSk7CglzdGF0aWMgY29uc3Qgc3RkOjpzdHJpbmcgb2xkU3VmZml4ID0gIm5lZiI7CglzdGF0aWMgY29uc3Qgc3RkOjpzdHJpbmcgbmV3U3VmZml4ID0gImJtcCI7CglhdXRvIGRvdFBvcyA9IG5ld05hbWUucmZpbmQoJy4nKTsKCWlmIChkb3RQb3MgPT0gbmV3TmFtZS5zaXplKCkgLSBvbGRTdWZmaXguc2l6ZSgpIC0gMSl7CgkJYXV0byBzdWZmaXggPSBuZXdOYW1lLnN1YnN0cihkb3RQb3MgKyAxKTsKCQlzdGQ6OnRyYW5zZm9ybShzdWZmaXguYmVnaW4oKSwgc3VmZml4LmVuZCgpLCBzdWZmaXguYmVnaW4oKSwgOjp0b2xvd2VyKTsKCQlpZiAoc3VmZml4ID09IG9sZFN1ZmZpeCkKCQkJbmV3TmFtZS5yZXBsYWNlKGRvdFBvcyArIDEsIHN0ZDo6c3RyaW5nOjpucG9zLCBuZXdTdWZmaXgpOwoJfQoJcmV0dXJuIG5ld05hbWU7Cn0KCmludCBtYWluKCkgewoJc3RkOjpjb3V0IDw8IFJlbmFtZSgiYWJjLm5ldC5uZWYiKSA8PCBzdGQ6OmVuZGw7CglzdGQ6OmNvdXQgPDwgUmVuYW1lKCJhYmMubkVGIikgPDwgc3RkOjplbmRsOwoJc3RkOjpjb3V0IDw8IFJlbmFtZSgiZGVmLm5vdC1uZWYiKSA8PCBzdGQ6OmVuZGw7CglyZXR1cm4gMDsKfQ==