#include <iostream>
#include <cctype>
#include <ctime>
#include <string>
int main()
{
clock_t time;
std::string str("qWeRtY uIoP[ ]A SdfghJklk;'ZXcvbcxMMMBNBM,./dsadsdas");
std::string dump(str);
time = clock();
for (long i = 0; i < 2000000; ++i)
{
str = dump;
for (auto &c : str)
{
if (isalpha(c))
c ^= 32;
}
}
std::cout << (double)time / CLOCKS_PER_SEC << std::endl;
time = clock();
for (long i = 0; i < 2000000; ++i)
{
str = dump;
for (auto &c : str)
{
if (isupper(c))
{
c = tolower(c);
}
else
{
if (islower(c))
{
c = toupper(c);
}
}
}
}
std::cout << (double)time / CLOCKS_PER_SEC << std::endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y2N0eXBlPgojaW5jbHVkZSA8Y3RpbWU+CiNpbmNsdWRlIDxzdHJpbmc+CgppbnQgbWFpbigpCnsKICAgIGNsb2NrX3QgdGltZTsKICAgIAogICAgc3RkOjpzdHJpbmcgc3RyKCJxV2VSdFkgdUlvUFsgIF1BICAgU2RmZ2hKa2xrOydaWGN2YmN4TU1NQk5CTSwuL2RzYWRzZGFzIik7CiAgICBzdGQ6OnN0cmluZyBkdW1wKHN0cik7CiAgICAKICAgIHRpbWUgPSBjbG9jaygpOwogICAgCiAgICBmb3IgKGxvbmcgaSA9IDA7IGkgPCAyMDAwMDAwOyArK2kpCiAgICB7CiAgICAgICAgc3RyID0gZHVtcDsKICAgICAgICBmb3IgKGF1dG8gJmMgOiBzdHIpCiAgICAgICAgewogICAgICAgICAgICBpZiAoaXNhbHBoYShjKSkKICAgICAgICAgICAgICAgIGMgXj0gMzI7CiAgICAgICAgfQogICAgfQogICAgCiAgICBzdGQ6OmNvdXQgPDwgKGRvdWJsZSl0aW1lIC8gQ0xPQ0tTX1BFUl9TRUMgPDwgc3RkOjplbmRsOwogICAgCiAgICB0aW1lID0gY2xvY2soKTsKICAgIAogICAgZm9yIChsb25nIGkgPSAwOyBpIDwgMjAwMDAwMDsgKytpKQogICAgewogICAgICAgIHN0ciA9IGR1bXA7CiAgICAgICAgZm9yIChhdXRvICZjIDogc3RyKQogICAgICAgIHsKICAgICAgICAgICAgaWYgKGlzdXBwZXIoYykpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGMgPSB0b2xvd2VyKGMpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWYgKGlzbG93ZXIoYykpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgYyA9IHRvdXBwZXIoYyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICAKICAgIHN0ZDo6Y291dCA8PCAoZG91YmxlKXRpbWUgLyBDTE9DS1NfUEVSX1NFQyA8PCBzdGQ6OmVuZGw7CiAgICAKfQo=