#include<iostream>
#include<vector>
#include<string>
int main()
{
	std::vector<std::string>result;
	for (std::string str; std::getline(std::cin, str);)
	{
		char delta;
		for (int i = 0;; i++)
		{
			if (str[i] != ' ' && str[i] != '.' && str[i + 1] != ' ' && str[i + 1] != '.' && str[i + 2] != ' ' && str[i + 2] != '.')
			{
				int d1, d2, d3;
				d1 = (int)(str[i] - str[i + 1]);
				if (d1 < 0)
				{
					d1 += 26;
				}
				d2 = (int)(str[i + 1] - str[i + 2]);
				if (d2 < 0)
				{
					d2 += 26;
				}
				if (d1 == 't' - 'h')
				{
					if (d2 == 'h' - 'e')
					{
						delta = str[i] - 't';
						break;
					}
					else
					{
						if (str[i + 3] != ' ' && str[i + 3] != '.')
						{
							d3 = (int)(str[i + 2] - str[i + 3]);
							if (d3 > 0)
							{
								d3 -= 26;
							}
							if (d2 == 'h' - 'i' && d3 == 'i' - 's' || d2 == 'h' - 'a' && d3 == 'a' - 't')
							{
								delta = str[i] - 't';
								break;
							}
						}
					}
				}
			}
		}
		result.push_back(std::string(str.length(), '0'));
		for (int i = 0; i < str.length(); i++)
		{
			result.back()[i] = str[i] != ' ' && str[i] != '.' ? (str[i] - delta - 'a') % 26 + 'a' : str[i];
		}
	}
	for (auto i : result)
	{
		std::cout << i << std::endl;
	}
	return 0;
}
