#include <iostream>
#include <string>
#include <cstdint>

std::string& test_decode(std::string& decoded_text)
{
	for (char& c : decoded_text) {
		if (c == 'a') {
			c = 'z';
		}
		else if (c != '.' && c != ' ') {
			c -= 1;
		}
	}
	return decoded_text;
}

int main()
{
	std::string encrypted_text;

	while (std::getline(std::cin, encrypted_text)) {
		do {
			test_decode(encrypted_text);
		} while (encrypted_text.find("the")  == std::string::npos &&
				 encrypted_text.find("this") == std::string::npos &&
				 encrypted_text.find("that") == std::string::npos);
		std::cout << encrypted_text << std::endl;
	}

	return 0;
}