#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(k,26){
	s1=s;
	rep(i,n){

	if('a'<=s1[i] && s1[i]<='z'-k) s1[i]+=k;
	if(k!=0 && 'z'+1-k<=s1[i] && s1[i]<='z') s1[i]+=k-26;
	}

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

	}


	}


    return 0;
}