#include <cstddef>
#include <stdexcept>
constexpr std::uint64_t fnv(const char* p, std::size_t len,
std::uint64_t h = 0xcbf29ce484222325) {
return len == 0? h : fnv(p+1, len-1, (h ^ *p) * 0x00000100000001b3);
}
constexpr std::uint64_t operator "" _fnv( char const* str, std::size_t len ) {
return fnv(str, len);
}
#include <iostream>
#include <string>
int main()
{
for (std::string str; getline(std::cin, str);) {
switch(fnv(str.data(), str.size()))
{
case "Hallo"_fnv:
std::cout << "Welt!";
break;
case "Welt"_fnv:
std::cout << "Hallo!";
break;
default:
std::cout << "Nochmal probier'n!";
}
}
}
I2luY2x1ZGUgPGNzdGRkZWY+CiNpbmNsdWRlIDxzdGRleGNlcHQ+Cgpjb25zdGV4cHIgc3RkOjp1aW50NjRfdCBmbnYoY29uc3QgY2hhciogcCwgc3RkOjpzaXplX3QgbGVuLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RkOjp1aW50NjRfdCBoID0gMHhjYmYyOWNlNDg0MjIyMzI1KSB7CiAgICByZXR1cm4gbGVuID09IDA/IGggOiBmbnYocCsxLCBsZW4tMSwgKGggXiAqcCkgKiAweDAwMDAwMTAwMDAwMDAxYjMpOwp9Cgpjb25zdGV4cHIgc3RkOjp1aW50NjRfdCBvcGVyYXRvciAiIiBfZm52KCBjaGFyIGNvbnN0KiBzdHIsIHN0ZDo6c2l6ZV90IGxlbiApIHsKICAgIHJldHVybiBmbnYoc3RyLCBsZW4pOwp9CgojaW5jbHVkZSA8aW9zdHJlYW0+CiNpbmNsdWRlIDxzdHJpbmc+CgppbnQgbWFpbigpCnsKICAgIGZvciAoc3RkOjpzdHJpbmcgc3RyOyBnZXRsaW5lKHN0ZDo6Y2luLCBzdHIpOykgewogICAgICAgIHN3aXRjaChmbnYoc3RyLmRhdGEoKSwgc3RyLnNpemUoKSkpCiAgICAgICAgewogICAgICAgICAgICBjYXNlICJIYWxsbyJfZm52OgogICAgICAgICAgICAgICAgc3RkOjpjb3V0IDw8ICJXZWx0ISI7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAiV2VsdCJfZm52OgogICAgICAgICAgICAgICAgc3RkOjpjb3V0IDw8ICJIYWxsbyEiOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICBzdGQ6OmNvdXQgPDwgIk5vY2htYWwgcHJvYmllciduISI7CiAgICAgICAgfQogICAgfQp9