#include<iostream>
#include<string>
#include<vector>

using namespace std;

void split(string s,vector<string> *a)
{
	string tmp;
	for(int i=0;i<s.length();i++)
	{
		if(s[i]!=' ')
		{
			tmp.append(1,s[i]);
		}
		else
		{
			a->push_back(tmp);
			tmp.clear();
		}
	}
	a->push_back(tmp);
}

bool judge(vector<string> str)
{
	for(int i=0;i<str.size();i++){
		if(str[i].compare("the")==0||
			str[i].compare("this")==0||
			str[i].compare("that")==0)
		{
			return false;
		}
	}
	return true;
}

void rotate(string *s)
{
	for(int i=0;i<s->length();i++)
	{
		if('a'<=s->at(i)&&s->at(i)<='z')
		{
			if(s->at(i)=='z')
			{
				s->at(i)='a';
			}
			else
			{
				s->at(i)+=1;
			}
		}
	}
}

int main(void)
{
	string line;
	while(getline(cin,line))
	{
		vector<string> str;
		split(line,&str);
		while(judge(str))
		{
			for(int i=0;i<str.size();i++)
			{
				rotate(&str[i]);
			}
		}
		cout<<str[0];
		for(int i=1;i<str.size();i++)
		{
			cout<<" "<<str[i];
		}
		cout<<endl;
	};
}