#include<iostream>
#include<string>

using namespace std;

string thi[100],tha[100],the[100];

string change_str(string ch,int mov);
int set(void);

int main()
{
	int i,j;
	char ch[100];
	
	set();
	for(;cin.getline(ch,81);)
	{
		for(i=0;i<27;i++)
		{
			int se;
			se=string(ch).find(thi[i],0);
			if(se!=string::npos)
				break;
			se=string(ch).find(tha[i],0);
			if(se!=string::npos)
				break;
			se=string(ch).find(the[i],0);
			if(se!=string::npos)
				break;
		}
		
		string ans;
		
		ans=change_str(string(ch),26-i);
		
		cout << ans << endl;
		
		string(ch)="";
	}
}

int set(void)
{
	int i,j;
	thi[0]="this";
	tha[0]="that";
	the[0]="the";
	
	for(i=1;i<27;i++)
	{
		int a,b,c;
		thi[0]=change_str(thi[0],1);
		tha[0]=change_str(tha[0],1);
		the[0]=change_str(the[0],1);
		
		thi[i]=thi[0];
		tha[i]=tha[0];
		the[i]=the[0];
	}
	return 0;
}

string change_str(string change,int mov)
{
	for(int i=0;i<mov;i++)
	{
		for(int j=0;j<change.size();j++)
		{
			int a;
			a=int(change[j]);
			if(a>95 && a<123)
			{
				change[j]++;
				if(a==122)
					change[j]-=26;
			}
		}
	}
	return change;
}