#include <iostream>
#include <string>
#include <locale>
#include <codecvt>
int main() {
std::string s="абв.";
std::cout << s.size() << std::endl;
char a[3];
a[0] = s[0];
a[1] = s[1];
a[2] = 0;
std::cout << a << std::endl;
std::wstring_convert<std::codecvt_utf8<char32_t>, char32_t> convert;
std::u32string utf32 = convert.from_bytes(s);
std::cout << utf32.size() << std::endl;
std::u32string temp;
for (int i= utf32.size() - 1; i > -1; i--) temp.push_back(utf32[i]);
std::string utf8 = convert.to_bytes(temp);
std::cout << utf8;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8bG9jYWxlPgojaW5jbHVkZSA8Y29kZWN2dD4KCmludCBtYWluKCkgewoJCglzdGQ6OnN0cmluZyBzPSLQsNCx0LIuIjsKCXN0ZDo6Y291dCA8PCBzLnNpemUoKSA8PCBzdGQ6OmVuZGw7CgkKCWNoYXIgYVszXTsKCWFbMF0gPSBzWzBdOwoJYVsxXSA9IHNbMV07CglhWzJdID0gMDsKCQoJc3RkOjpjb3V0IDw8IGEgPDwgc3RkOjplbmRsOwoJCglzdGQ6OndzdHJpbmdfY29udmVydDxzdGQ6OmNvZGVjdnRfdXRmODxjaGFyMzJfdD4sIGNoYXIzMl90PiBjb252ZXJ0OwoJCglzdGQ6OnUzMnN0cmluZyB1dGYzMiA9IGNvbnZlcnQuZnJvbV9ieXRlcyhzKTsKCQoJc3RkOjpjb3V0IDw8IHV0ZjMyLnNpemUoKSA8PCBzdGQ6OmVuZGw7CgkKCXN0ZDo6dTMyc3RyaW5nIHRlbXA7CgkKCWZvciAoaW50IGk9IHV0ZjMyLnNpemUoKSAtIDE7IGkgPiAtMTsgaS0tKSB0ZW1wLnB1c2hfYmFjayh1dGYzMltpXSk7CgkKCXN0ZDo6c3RyaW5nIHV0ZjggPSBjb252ZXJ0LnRvX2J5dGVzKHRlbXApOwoJCglzdGQ6OmNvdXQgPDwgdXRmODsKCQoJcmV0dXJuIDA7Cn0=