#include <string>
#include <iostream>
#include <algorithm>
char
ctl(char c) {
return c > '@' && c < '[' ? c + ' ' : c;
}
char
ctu(char c) {
return c > '`' && c < '{' ? c - ' ' : c;
}
int
main(int, char **) {
::std::string test { "Some string only WITH ASCII symBols ;)" };
::std::cout << test << '\n';
::std::transform(test.begin(), test.end(), test.begin(), ctl);
::std::cout << test << '\n';
::std::transform(test.begin(), test.end(), test.begin(), ctu);
::std::cout << test << '\n';
return 0;
}
I2luY2x1ZGUgPHN0cmluZz4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgoKY2hhcgpjdGwoY2hhciBjKSB7CiAgICByZXR1cm4gYyA+ICdAJyAmJiBjIDwgJ1snID8gYyArICcgJyA6IGM7Cn0KCmNoYXIKY3R1KGNoYXIgYykgewogICAgcmV0dXJuIGMgPiAnYCcgJiYgYyA8ICd7JyA/IGMgLSAnICcgOiBjOwp9CgppbnQKbWFpbihpbnQsIGNoYXIgKiopIHsKICAgIDo6c3RkOjpzdHJpbmcgdGVzdCB7ICJTb21lIHN0cmluZyBvbmx5IFdJVEggQVNDSUkgc3ltQm9scyA7KSIgfTsKICAgIDo6c3RkOjpjb3V0IDw8IHRlc3QgPDwgJ1xuJzsKICAgIDo6c3RkOjp0cmFuc2Zvcm0odGVzdC5iZWdpbigpLCB0ZXN0LmVuZCgpLCB0ZXN0LmJlZ2luKCksIGN0bCk7CiAgICA6OnN0ZDo6Y291dCA8PCB0ZXN0IDw8ICdcbic7CiAgICA6OnN0ZDo6dHJhbnNmb3JtKHRlc3QuYmVnaW4oKSwgdGVzdC5lbmQoKSwgdGVzdC5iZWdpbigpLCBjdHUpOwogICAgOjpzdGQ6OmNvdXQgPDwgdGVzdCA8PCAnXG4nOwoKICAgIHJldHVybiAwOwp9