#include<string>
#include<vector>
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstdlib>
#include<sstream>
#include<functional>
#include<map>
#include<stack>
#include<set>
#include<cmath>

#define REP(i,s,e) for(int i=int(s);i<=int(e);i++)
#define rep(i,n) for(int i=0;i<int(n);i++)

#define EPS 1e-6

using namespace std;

bool f(string a){

string::size_type p=a.find("the");
string::size_type q=a.find("this");
string::size_type r=a.find("that");
if(p!=string::npos || q!=string::npos || r!=string::npos)
return true;
else return false;

	}

int main(){

   string s,s1;

   while(getline(cin,s)){

	int n=s.size();

		rep(j,26){
		rep(i,n){
		if('a'<=s[i] && s[i]<='y') s[i]++;
		else if(s[i]=='z') s[i]='a';
		}

		if(f(s)){ cout << s << endl; break; }

		}

	}

    return 0;
}