#include<iostream>
#include<string>
using namespace std;

int main(){
    
    int zure;
    string str,the,thi,tha;
    
    the = "the";
    thi = "this";
    tha = "that";
    while(getline(cin,str)){
        for(int i=0;i<26;i++){
            
            for(int j=0;j<4;j++){
            
                if(j < 3) the[j] = 'a'+(the[j]-'a'+1)%26;
                thi[j] = 'a'+(thi[j]-'a'+1)%26;
                tha[j] = 'a'+(tha[j]-'a'+1)%26;
            
                if(str.find(the) != string::npos || str.find(thi) != string::npos || str.find(tha) != string::npos){
                    zure = (the[0]-'t'+26)%26;
                }
            
            }
        
        }
    
        for(int i=0;i<str.size();i++){
            if('a' <= str[i] && str[i] <= 'z'){
                str[i] = str[i]-zure;
                if(str[i] < 'a') str[i] += 26;
            }
        }
        cout << str << endl;
    }
    return(0);
}
