#include<iostream>
#include<cstdio>
#include<cstring>
#include<memory>

using namespace std;

int main(void)
{
    char Cipher[100],ans[100];
	int i=0,count=0;
	while (cin.getline(Cipher,sizeof(Cipher)))
	{
		memcpy(ans,Cipher,sizeof(Cipher));
		while(1)
		{
			char the[10]={'t','h','e'},ths[10]={'t','h','i','s'},that[10]={'t','h','a','t'};
			char *ans;

			if(count==25)break;
			ans=strstr(Cipher,the);
			if(ans!=NULL)break;
			ans=strstr(Cipher,ths);
			if(ans!=NULL)break;
			ans=strstr(Cipher,that);
			if(ans!=NULL)break;
			
			while(Cipher[i]!='\0')
			{
				if(Cipher[i]==' ')i++;
				if(Cipher[i]=='.')break;
				Cipher[i]=Cipher[i]++;
				if(Cipher[i]=='z') Cipher[i]='a';
				i++;
			}
			count++;
			i=0;
		}
		int number=0,i=0;
		if(count!=25)
		{
			while (Cipher[i]!='\0')
			{
				if(Cipher[i]==' ')i++;
				if(Cipher[i]=='.')break;
				number=(Cipher[i]-'a'+count)%26;
				ans[i]=number+'a';
				i++;
			}
		}
		cout<<Cipher<<endl;
		i=0,count=0;
	}
	return 0;
}